home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Developers / apps.to.go / •Sample Applications / OD embedding part / OD embedding part.rsrc / WFMT_128_Prtd < prev    next >
Unknown  |  1994-07-18  |  112.6 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert TTComp Archive (archive/ttcomp) fallback Supported
100% file TTComp archive data, binary, 2K dictionary default (weak)
99% file TeX font metric data default (weak)
98% file data default
66% TrID TTComp archive compressed (bin-2K) default (weak)
33% TrID Adobe PhotoShop Brush default (weak)
0% TrID TeX Font Metric (0x12) default (weak)
100% xdgMime application/x-font-tex-tfm default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 00 12 00 00 00 1a | 00 00 00 02 00 00 00 1a |........|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 05 00 0d 00 00 |........|........|
|00000030| 00 1a 00 00 00 03 00 00 | 00 1a 63 75 73 74 00 00 |........|..cust..|
|00000040| 00 00 00 00 20 00 00 00 | 00 00 00 00 00 00 00 00 |.... ...|........|
|00000050| 00 00 00 00 00 06 00 00 | 00 00 00 50 00 00 00 04 |........|...P....|
|00000060| 00 00 00 50 00 00 00 01 | 00 85 00 0d 00 ae 01 00 |...P....|........|
|00000070| 00 00 00 00 00 01 0f ec | 00 00 00 00 00 00 00 00 |........|........|
|00000080| 00 09 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000090| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000a0| 06 4e 61 6d 69 6e 67 00 | 06 47 65 6e 65 76 61 00 |.Naming.|.Geneva.|
|000000b0| 00 00 00 00 00 06 00 00 | 00 00 00 55 00 00 00 05 |........|...U....|
|000000c0| 00 00 00 55 00 00 00 11 | 00 1d 00 20 00 73 01 00 |...U....|... .s..|
|000000d0| 00 00 00 00 00 01 0f e8 | 00 00 00 00 00 00 00 00 |........|........|
|000000e0| 00 0c 01 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000000f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000100| 0b 43 6c 61 73 73 20 4e | 61 6d 65 3a 00 06 47 65 |.Class N|ame:..Ge|
|00000110| 6e 65 76 61 00 00 00 00 | 00 00 06 00 00 00 00 00 |neva....|........|
|00000120| 78 00 00 00 06 00 00 00 | 78 00 00 00 0f 00 79 00 |x.......|x.....y.|
|00000130| 23 01 10 01 00 00 00 00 | 00 00 10 0f a0 00 00 00 |#.......|........|
|00000140| 00 00 65 00 00 00 0c 00 | 00 00 02 00 02 ff fe ff |..e.....|........|
|00000150| fc 00 02 00 02 ff fe ff | fe 00 00 00 00 00 00 00 |........|........|
|00000160| 00 ff f0 0b 20 09 50 61 | 72 74 20 4e 61 6d 65 00 |.... .Pa|rt Name.|
|00000170| 00 06 31 30 30 30 2c 31 | 00 0f 50 61 72 74 4d 61 |..1000,1|..PartMa|
|00000180| 6b 65 72 53 61 6d 70 6c | 65 00 16 00 01 00 00 00 |kerSampl|e.......|
|00000190| 00 00 10 00 0c 00 01 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001a0| 00 00 06 00 00 00 00 00 | 44 00 00 00 07 00 00 00 |........|D.......|
|000001b0| 44 00 00 00 07 00 07 00 | 2b 01 2c 01 00 00 00 00 |D.......|+.,.....|
|000001c0| 00 00 01 0f f2 00 00 00 | 00 00 00 00 00 00 0c 00 |........|........|
|000001d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000001f0| 00 00 00 00 00 00 06 00 | 00 00 00 00 4d 00 00 00 |........|....M...|
|00000200| 08 00 00 00 4d 00 00 00 | c4 00 07 00 d4 00 85 01 |....M...|........|
|00000210| 00 00 00 00 00 00 01 10 | 00 00 00 00 00 00 64 00 |........|......d.|
|00000220| 00 00 0c 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000240| 00 09 48 65 6c 6c 6f 50 | 61 72 74 00 00 00 00 00 |..HelloP|art.....|
|00000250| 00 00 00 06 00 00 00 00 | 00 54 00 00 00 09 00 00 |........|.T......|
|00000260| 00 54 00 00 00 a6 00 24 | 00 b6 00 63 01 00 00 01 |.T.....$|...c....|
|00000270| 00 00 00 01 00 02 00 00 | 00 00 ff 38 00 00 00 0c |........|...8....|
|00000280| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000290| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 06 43 |........|.......C|
|000002a0| 46 72 6f 6e 74 00 00 0a | 31 30 30 30 2c 34 3a 31 |Front...|1000,4:1|
|000002b0| 2c 35 00 00 00 00 00 06 | 00 00 00 00 00 5f 00 00 |,5......|....._..|
|000002c0| 00 0a 00 00 00 5f 00 00 | 00 a6 00 7e 00 b6 01 0d |....._..|...~....|
|000002d0| 01 00 00 00 00 00 00 01 | 00 02 00 00 00 00 ff 37 |........|.......7|
|000002e0| 00 00 00 0c 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000002f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000300| 00 00 11 53 79 6d 61 6e | 74 65 63 20 43 2b 2b 20 |...Syman|tec C++ |
|00000310| 37 2e 30 31 00 00 0a 31 | 30 30 30 2c 36 3a 31 2c |7.01...1|000,6:1,|
|00000320| 37 00 00 00 00 00 06 00 | 00 00 00 00 57 00 00 00 |7.......|....W...|
|00000330| 0b 00 00 00 57 00 00 00 | 96 00 78 00 a2 00 bb 01 |....W...|..x.....|
|00000340| 00 00 00 00 00 00 01 0f | ec 00 00 00 00 00 00 00 |........|........|
|00000350| 00 00 09 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000370| 00 0d 42 75 69 6c 64 20 | 4f 70 74 69 6f 6e 73 00 |..Build |Options.|
|00000380| 06 47 65 6e 65 76 61 00 | 00 00 00 00 00 06 00 00 |.Geneva.|........|
|00000390| 00 00 00 44 00 00 00 0c | 00 00 00 44 00 00 00 9c |...D....|...D....|
|000003a0| 00 07 00 bc 01 2c 01 00 | 00 00 00 00 00 01 0f f2 |.....,..|........|
|000003b0| 00 00 00 00 00 00 00 00 | 00 0c 00 00 00 00 00 00 |........|........|
|000003c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000003e0| 00 06 00 00 00 00 01 53 | 00 00 00 0d 00 00 01 53 |.......S|.......S|
|000003f0| 00 00 00 38 00 9d 00 8f | 01 2a 01 ff 00 00 00 00 |...8....|.*......|
|00000400| 7f ff 0f a0 00 00 00 00 | 00 00 00 00 00 0c 00 00 |........|........|
|00000410| 00 04 00 04 ff fc ff fa | 00 04 00 04 ff fc ff fc |........|........|
|00000420| 00 00 00 00 00 00 00 00 | 83 00 08 40 08 54 65 78 |........|...@.Tex|
|00000430| 74 45 64 69 74 00 00 00 | 00 3d 0d 0d a5 20 53 69 |tEdit...|.=... Si|
|00000440| 6d 70 6c 65 20 41 62 6f | 75 74 20 42 6f 78 0d 0d |mple Abo|ut Box..|
|00000450| a5 20 46 61 63 65 74 20 | 43 6f 6c 6c 65 63 74 69 |. Facet |Collecti|
|00000460| 6f 6e 0d 0d a5 20 45 6d | 70 74 79 20 43 75 73 74 |on... Em|pty Cust|
|00000470| 6f 6d 20 4d 65 6e 75 00 | ca 00 0a 00 00 00 00 00 |om Menu.|........|
|00000480| 0c 00 0a 00 01 00 00 00 | 09 00 00 00 00 00 00 00 |........|........|
|00000490| 00 00 01 00 05 00 04 00 | 01 01 00 00 04 00 00 00 |........|........|
|000004a0| 00 00 00 00 00 00 02 00 | 0c 00 0a 00 01 00 00 00 |........|........|
|000004b0| 09 00 00 00 00 00 00 00 | 00 00 04 00 0c 00 0a 00 |........|........|
|000004c0| 01 01 00 00 09 00 00 00 | 00 00 00 00 00 00 15 00 |........|........|
|000004d0| 05 00 04 00 01 01 00 00 | 04 00 00 00 00 00 00 00 |........|........|
|000004e0| 00 00 16 00 0c 00 0a 00 | 01 00 00 00 09 00 00 00 |........|........|
|000004f0| 00 00 00 00 00 00 18 00 | 0c 00 0a 00 01 01 00 00 |........|........|
|00000500| 09 00 00 00 00 00 00 00 | 00 00 29 00 05 00 04 00 |........|..).....|
|00000510| 01 01 00 00 04 00 00 00 | 00 00 00 00 00 00 2a 00 |........|......*.|
|00000520| 0c 00 0a 00 01 00 00 00 | 09 00 00 00 00 00 00 00 |........|........|
|00000530| 00 00 2c 00 0c 00 0a 00 | 01 01 00 00 09 00 00 00 |..,.....|........|
|00000540| 00 00 00 00 06 00 00 00 | 00 01 47 00 00 00 0e 00 |........|..G.....|
|00000550| 00 01 47 00 00 00 38 00 | 0f 00 8f 00 9c 01 ff 00 |..G...8.|........|
|00000560| 00 00 00 7f ff 0f a0 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000570| 0c 00 00 00 04 00 04 ff | fc ff fa 00 04 00 04 ff |........|........|
|00000580| fc ff fc 00 00 00 00 00 | 00 00 00 83 00 08 40 08 |........|......@.|
|00000590| 54 65 78 74 45 64 69 74 | 00 00 00 00 31 0d 0d a5 |TextEdit|....1...|
|000005a0| 20 50 61 72 74 20 49 6e | 66 6f 0d 0d a5 20 53 68 | Part In|fo... Sh|
|000005b0| 6f 77 20 50 61 72 74 73 | 20 42 69 6e 0d 0d a5 20 |ow Parts| Bin... |
|000005c0| 56 69 65 77 20 41 73 20 | 57 69 6e 64 6f 77 00 ca |View As |Window..|
|000005d0| 00 0a 00 00 00 00 00 0c | 00 0a 00 01 00 00 00 09 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 01 00 05 00 04 00 01 |........|........|
|000005f0| 01 00 00 04 00 00 00 00 | 00 00 00 00 00 02 00 0c |........|........|
|00000600| 00 0a 00 01 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00000610| 00 04 00 0c 00 0a 00 01 | 01 00 00 09 00 00 00 00 |........|........|
|00000620| 00 00 00 00 00 0e 00 05 | 00 04 00 01 01 00 00 04 |........|........|
|00000630| 00 00 00 00 00 00 00 00 | 00 0f 00 0c 00 0a 00 01 |........|........|
|00000640| 00 00 00 09 00 00 00 00 | 00 00 00 00 00 11 00 0c |........|........|
|00000650| 00 0a 00 01 01 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|00000660| 00 20 00 05 00 04 00 01 | 01 00 00 04 00 00 00 00 |. ......|........|
|00000670| 00 00 00 00 00 21 00 0c | 00 0a 00 01 00 00 00 09 |.....!..|........|
|00000680| 00 00 00 00 00 00 00 00 | 00 23 00 0c 00 0a 00 01 |........|.#......|
|00000690| 01 00 00 09 00 00 00 00 | 00 00 00 06 00 00 00 00 |........|........|
|000006a0| 00 5b 00 00 00 0f 00 00 | 00 5b 00 00 00 2d 00 6e |.[......|.[...-.n|
|000006b0| 00 39 00 c5 01 00 00 00 | 00 00 00 01 0f ec 00 00 |.9......|........|
|000006c0| 00 00 00 00 00 00 00 09 | 00 00 00 00 00 00 00 00 |........|........|
|000006d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006e0| 00 00 00 00 00 00 11 46 | 65 61 74 75 72 65 73 20 |.......F|eatures |
|000006f0| 49 6e 63 6c 75 64 65 64 | 00 06 47 65 6e 65 76 61 |Included|..Geneva|
|00000700| 00 00 00 00 00 00 06 00 | 00 00 00 00 44 00 00 00 |........|....D...|
|00000710| 10 00 00 00 44 00 00 00 | 33 00 07 00 94 01 2c 01 |....D...|3.....,.|
|00000720| 00 00 00 00 00 00 01 0f | f2 00 00 00 00 00 00 00 |........|........|
|00000730| 00 00 0c 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000750| 00 00 00 00 00 00 00 00 | 00 00 05 00 01 00 00 00 |........|........|
|00000760| 27 00 00 00 11 00 00 00 | 27 31 30 30 30 00 00 13 |'.......|'1000...|
|00000770| 89 00 00 20 00 00 00 00 | 00 00 00 00 00 00 00 00 |... ....|........|
|00000780| 00 0d 46 61 63 65 74 4c | 69 73 74 2e 63 70 70 00 |..FacetL|ist.cpp.|
|00000790| 00 06 00 00 00 00 06 26 | 00 00 00 12 00 00 06 26 |.......&|.......&|
|000007a0| 00 00 ff ff ff ff 01 a5 | 02 6b 01 00 00 00 00 00 |........|.k......|
|000007b0| 7f ff 0f a0 00 00 00 00 | 03 e9 00 00 00 0c 00 00 |........|........|
|000007c0| 00 04 00 04 ff fc 07 d0 | 00 04 00 04 ff fc ff fc |........|........|
|000007d0| 00 00 00 00 00 00 00 00 | 83 00 0b 6a 08 54 65 78 |........|...j.Tex|
|000007e0| 74 45 64 69 74 00 00 00 | 05 c4 2f 2a 0d 09 46 69 |tEdit...|../*..Fi|
|000007f0| 6c 65 3a 09 09 46 61 63 | 65 74 4c 69 6e 6b 2e 63 |le:..Fac|etLink.c|
|00000800| 70 70 0d 0d 09 43 6f 6e | 74 61 69 6e 73 3a 09 4c |pp...Con|tains:.L|
|00000810| 69 6e 6b 65 64 20 6c 69 | 73 74 20 6f 66 20 66 61 |inked li|st of fa|
|00000820| 63 65 74 73 2c 20 66 6f | 72 20 75 73 65 20 62 79 |cets, fo|r use by|
|00000830| 20 70 61 72 74 73 0d 0d | 09 57 72 69 74 74 65 6e | parts..|.Written|
|00000840| 20 62 79 3a 09 4a 65 6e | 73 20 41 6c 66 6b 65 0d | by:.Jen|s Alfke.|
|00000850| 0d 2a 2f 0d 0d 23 69 66 | 6e 64 65 66 20 5f 46 41 |.*/..#if|ndef _FA|
|00000860| 43 45 54 4c 49 53 54 5f | 0d 23 69 6e 63 6c 75 64 |CETLIST_|.#includ|
|00000870| 65 20 22 46 61 63 65 74 | 4c 69 73 74 2e 68 22 0d |e "Facet|List.h".|
|00000880| 23 65 6e 64 69 66 0d 0d | 23 69 66 6e 64 65 66 20 |#endif..|#ifndef |
|00000890| 5f 45 58 43 45 50 54 5f | 0d 23 69 6e 63 6c 75 64 |_EXCEPT_|.#includ|
|000008a0| 65 20 22 45 78 63 65 70 | 74 2e 68 22 0d 23 65 6e |e "Excep|t.h".#en|
|000008b0| 64 69 66 0d 0d 23 69 66 | 6e 64 65 66 20 5f 46 41 |dif..#if|ndef _FA|
|000008c0| 43 45 54 5f 0d 23 69 6e | 63 6c 75 64 65 20 22 46 |CET_.#in|clude "F|
|000008d0| 61 63 65 74 2e 68 22 0d | 23 65 6e 64 69 66 0d 0d |acet.h".|#endif..|
|000008e0| 0d 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|000008f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000900| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000910| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000920| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000930| 3d 0d 2f 2f 20 46 61 63 | 65 74 4c 69 6e 6b 0d 2f |=.// Fac|etLink./|
|00000940| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|00000950| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000960| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000970| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000980| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00000990| 0d 0d 46 61 63 65 74 4c | 69 6e 6b 3a 3a 46 61 63 |..FacetL|ink::Fac|
|000009a0| 65 74 4c 69 6e 6b 28 20 | 29 0d 09 3a 66 46 61 63 |etLink( |)..:fFac|
|000009b0| 65 74 28 6b 58 4d 50 4e | 55 4c 4c 29 2c 0d 09 20 |et(kXMPN|ULL),.. |
|000009c0| 66 50 72 65 76 28 74 68 | 69 73 29 2c 0d 09 20 66 |fPrev(th|is),.. f|
|000009d0| 4e 65 78 74 28 74 68 69 | 73 29 0d 7b 0d 7d 0d 0d |Next(thi|s).{.}..|
|000009e0| 0d 46 61 63 65 74 4c 69 | 6e 6b 3a 3a 46 61 63 65 |.FacetLi|nk::Face|
|000009f0| 74 4c 69 6e 6b 28 20 58 | 4d 50 46 61 63 65 74 20 |tLink( X|MPFacet |
|00000a00| 2a 66 61 63 65 74 2c 20 | 46 61 63 65 74 4c 69 6e |*facet, |FacetLin|
|00000a10| 6b 20 2a 6c 69 73 74 20 | 29 0d 09 3a 66 46 61 63 |k *list |)..:fFac|
|00000a20| 65 74 28 66 61 63 65 74 | 29 2c 0d 09 20 66 50 72 |et(facet|),.. fPr|
|00000a30| 65 76 28 6c 69 73 74 29 | 2c 0d 09 20 66 4e 65 78 |ev(list)|,.. fNex|
|00000a40| 74 28 6c 69 73 74 2d 3e | 66 4e 65 78 74 29 0d 7b |t(list->|fNext).{|
|00000a50| 0d 09 6c 69 73 74 2d 3e | 66 4e 65 78 74 20 3d 20 |..list->|fNext = |
|00000a60| 74 68 69 73 3b 0d 09 66 | 4e 65 78 74 2d 3e 66 50 |this;..f|Next->fP|
|00000a70| 72 65 76 20 3d 20 74 68 | 69 73 3b 0d 7d 0d 0d 0d |rev = th|is;.}...|
|00000a80| 46 61 63 65 74 4c 69 6e | 6b 3a 3a 7e 46 61 63 65 |FacetLin|k::~Face|
|00000a90| 74 4c 69 6e 6b 28 20 29 | 0d 7b 0d 09 69 66 28 20 |tLink( )|.{..if( |
|00000aa0| 66 50 72 65 76 20 29 0d | 09 09 66 50 72 65 76 2d |fPrev ).|..fPrev-|
|00000ab0| 3e 66 4e 65 78 74 20 3d | 20 66 4e 65 78 74 3b 0d |>fNext =| fNext;.|
|00000ac0| 09 69 66 28 20 66 4e 65 | 78 74 20 29 0d 09 09 66 |.if( fNe|xt )...f|
|00000ad0| 4e 65 78 74 2d 3e 66 50 | 72 65 76 20 3d 20 66 50 |Next->fP|rev = fP|
|00000ae0| 72 65 76 3b 0d 7d 0d 0d | 0d 2f 2f 3d 3d 3d 3d 3d |rev;.}..|.//=====|
|00000af0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b00| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b30| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 2f 2f 20 46 61 63 |========|=.// Fac|
|00000b40| 65 74 4c 69 6e 6b 0d 2f | 2f 3d 3d 3d 3d 3d 3d 3d |etLink./|/=======|
|00000b50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b60| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b70| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000b90| 3d 3d 3d 3d 3d 3d 3d 0d | 0d 0d 46 61 63 65 74 4c |=======.|..FacetL|
|00000ba0| 69 73 74 3a 3a 46 61 63 | 65 74 4c 69 73 74 28 20 |ist::Fac|etList( |
|00000bb0| 29 0d 09 3a 46 61 63 65 | 74 4c 69 6e 6b 28 29 0d |)..:Face|tLink().|
|00000bc0| 7b 0d 7d 0d 0d 0d 46 61 | 63 65 74 4c 69 73 74 3a |{.}...Fa|cetList:|
|00000bd0| 3a 7e 46 61 63 65 74 4c | 69 73 74 28 20 29 0d 7b |:~FacetL|ist( ).{|
|00000be0| 0d 09 2f 2f 20 44 65 6c | 65 74 65 20 61 6c 6c 20 |..// Del|ete all |
|00000bf0| 6c 69 6e 6b 73 3a 0d 09 | 77 68 69 6c 65 28 20 66 |links:..|while( f|
|00000c00| 4e 65 78 74 20 21 3d 20 | 74 68 69 73 20 29 0d 09 |Next != |this )..|
|00000c10| 09 64 65 6c 65 74 65 20 | 66 4e 65 78 74 3b 0d 7d |.delete |fNext;.}|
|00000c20| 0d 0d 0d 76 6f 69 64 0d | 46 61 63 65 74 4c 69 73 |...void.|FacetLis|
|00000c30| 74 3a 3a 41 64 64 28 20 | 58 4d 50 46 61 63 65 74 |t::Add( |XMPFacet|
|00000c40| 20 2a 66 61 63 65 74 20 | 29 0d 7b 0d 09 6e 65 77 | *facet |).{..new|
|00000c50| 20 46 61 63 65 74 4c 69 | 6e 6b 28 66 61 63 65 74 | FacetLi|nk(facet|
|00000c60| 2c 74 68 69 73 29 3b 0d | 09 2f 2f 20 54 68 65 20 |,this);.|.// The |
|00000c70| 6e 65 77 20 6c 69 6e 6b | 20 68 61 73 20 61 6c 72 |new link| has alr|
|00000c80| 65 61 64 79 20 68 6f 6f | 6b 65 64 20 69 74 73 65 |eady hoo|ked itse|
|00000c90| 6c 66 20 69 6e 74 6f 20 | 6d 79 20 63 68 61 69 6e |lf into |my chain|
|00000ca0| 20 73 6f 20 49 20 64 6f | 6e 27 74 20 6e 65 65 64 | so I do|n't need|
|00000cb0| 20 74 6f 0d 09 2f 2f 20 | 72 65 6d 65 6d 62 65 72 | to..// |remember|
|00000cc0| 20 69 74 20 65 6c 73 65 | 77 68 65 72 65 2e 0d 7d | it else|where..}|
|00000cd0| 0d 0d 0d 76 6f 69 64 0d | 46 61 63 65 74 4c 69 73 |...void.|FacetLis|
|00000ce0| 74 3a 3a 52 65 6d 6f 76 | 65 28 20 58 4d 50 46 61 |t::Remov|e( XMPFa|
|00000cf0| 63 65 74 20 2a 66 61 63 | 65 74 20 29 0d 7b 0d 09 |cet *fac|et ).{..|
|00000d00| 46 61 63 65 74 4c 69 6e | 6b 20 2a 6c 69 6e 6b 3b |FacetLin|k *link;|
|00000d10| 0d 09 66 6f 72 28 20 6c | 69 6e 6b 3d 74 68 69 73 |..for( l|ink=this|
|00000d20| 2d 3e 46 69 72 73 74 28 | 29 3b 20 6c 69 6e 6b 2d |->First(|); link-|
|00000d30| 3e 46 61 63 65 74 28 29 | 3b 20 6c 69 6e 6b 3d 6c |>Facet()|; link=l|
|00000d40| 69 6e 6b 2d 3e 4e 65 78 | 74 28 29 20 29 0d 09 09 |ink->Nex|t() )...|
|00000d50| 69 66 28 20 6c 69 6e 6b | 2d 3e 46 61 63 65 74 28 |if( link|->Facet(|
|00000d60| 29 3d 3d 66 61 63 65 74 | 20 29 20 7b 0d 09 09 09 |)==facet| ) {....|
|00000d70| 64 65 6c 65 74 65 20 6c | 69 6e 6b 3b 0d 09 09 09 |delete l|ink;....|
|00000d80| 72 65 74 75 72 6e 3b 0d | 09 09 7d 0d 09 57 41 52 |return;.|..}..WAR|
|00000d90| 4e 28 22 43 6f 75 6c 64 | 6e 27 74 20 66 69 6e 64 |N("Could|n't find|
|00000da0| 20 66 61 63 65 74 22 29 | 3b 0d 7d 0d 0d 0d 00 16 | facet")|;.}.....|
|00000db0| 00 01 00 00 00 00 00 0b | 00 09 00 04 00 00 00 09 |........|........|
|00000dc0| 00 00 00 00 00 00 00 05 | 00 01 00 00 00 25 00 00 |........|.....%..|
|00000dd0| 00 13 00 00 00 25 31 30 | 30 31 00 00 13 89 00 00 |.....%10|01......|
|00000de0| 20 00 00 00 00 00 00 00 | 00 00 00 00 00 00 0b 46 | .......|.......F|
|00000df0| 61 63 65 74 4c 69 73 74 | 2e 68 00 00 06 00 00 00 |acetList|.h......|
|00000e00| 00 06 25 00 00 00 14 00 | 00 06 25 00 00 ff ff ff |..%.....|..%.....|
|00000e10| ff 01 a5 02 6b 01 00 00 | 00 00 00 7f ff 0f a0 00 |....k...|........|
|00000e20| 00 00 00 03 e9 00 00 00 | 0c 00 00 00 04 00 04 ff |........|........|
|00000e30| fc 07 d0 00 04 00 04 ff | fc ff fc 00 00 00 00 00 |........|........|
|00000e40| 00 00 00 83 00 0b 6a 08 | 54 65 78 74 45 64 69 74 |......j.|TextEdit|
|00000e50| 00 00 00 05 c3 2f 2a 0d | 09 46 69 6c 65 3a 09 09 |...../*.|.File:..|
|00000e60| 46 61 63 65 74 4c 69 73 | 74 2e 68 0d 0d 09 43 6f |FacetLis|t.h...Co|
|00000e70| 6e 74 61 69 6e 73 3a 09 | 4c 69 6e 6b 65 64 20 6c |ntains:.|Linked l|
|00000e80| 69 73 74 20 6f 66 20 66 | 61 63 65 74 73 2c 20 66 |ist of f|acets, f|
|00000e90| 6f 72 20 75 73 65 20 62 | 79 20 70 61 72 74 73 0d |or use b|y parts.|
|00000ea0| 0d 09 57 72 69 74 74 65 | 6e 20 62 79 3a 09 4a 65 |..Writte|n by:.Je|
|00000eb0| 6e 73 20 41 6c 66 6b 65 | 0d 0d 09 54 68 65 6f 72 |ns Alfke|...Theor|
|00000ec0| 79 20 6f 66 20 4f 70 65 | 72 61 74 69 6f 6e 3a 0d |y of Ope|ration:.|
|00000ed0| 09 09 54 68 69 73 20 69 | 73 20 61 20 71 75 69 63 |..This i|s a quic|
|00000ee0| 6b 2d 6e 2d 64 69 72 74 | 79 20 6c 69 6e 6b 65 64 |k-n-dirt|y linked|
|00000ef0| 20 6c 69 73 74 20 6f 66 | 20 58 4d 50 46 61 63 65 | list of| XMPFace|
|00000f00| 74 73 2e 20 54 6f 20 75 | 73 65 20 69 74 2c 20 63 |ts. To u|se it, c|
|00000f10| 72 65 61 74 65 20 61 0d | 09 09 46 61 63 65 74 4c |reate a.|..FacetL|
|00000f20| 69 73 74 20 61 6e 64 20 | 75 73 65 20 74 68 65 20 |ist and |use the |
|00000f30| 41 64 64 20 61 6e 64 20 | 52 65 6d 6f 76 65 20 6d |Add and |Remove m|
|00000f40| 65 74 68 6f 64 73 20 74 | 6f 20 61 64 64 2f 72 65 |ethods t|o add/re|
|00000f50| 6d 6f 76 65 20 66 61 63 | 65 74 73 2e 0d 09 09 54 |move fac|ets....T|
|00000f60| 6f 20 69 74 65 72 61 74 | 65 20 6f 76 65 72 20 61 |o iterat|e over a|
|00000f70| 6c 6c 20 74 68 65 20 66 | 61 63 65 74 73 2c 20 64 |ll the f|acets, d|
|00000f80| 6f 20 73 6f 6d 65 74 68 | 69 6e 67 20 6c 69 6b 65 |o someth|ing like|
|00000f90| 20 74 68 69 73 3a 0d 09 | 09 0d 09 09 09 66 6f 72 | this:..|.....for|
|00000fa0| 28 20 46 61 63 65 74 4c | 69 6e 6b 20 2a 66 6c 3d |( FacetL|ink *fl=|
|00000fb0| 66 61 63 65 74 4c 69 73 | 74 2e 46 69 72 73 74 28 |facetLis|t.First(|
|00000fc0| 29 3b 20 66 6c 2d 3e 46 | 61 63 65 74 28 29 3b 20 |); fl->F|acet(); |
|00000fd0| 66 6c 3d 66 6c 2d 3e 4e | 65 78 74 28 29 20 29 0d |fl=fl->N|ext() ).|
|00000fe0| 09 09 09 09 44 6f 53 6f | 6d 65 74 68 69 6e 67 57 |....DoSo|methingW|
|00000ff0| 69 74 68 46 61 63 65 74 | 28 20 66 6c 2d 3e 46 61 |ithFacet|( fl->Fa|
|00001000| 63 65 74 28 29 20 29 3b | 0d 2a 2f 0d 0d 23 69 66 |cet() );|.*/..#if|
|00001010| 6e 64 65 66 20 5f 46 41 | 43 45 54 4c 49 53 54 5f |ndef _FA|CETLIST_|
|00001020| 0d 23 64 65 66 69 6e 65 | 20 5f 46 41 43 45 54 4c |.#define| _FACETL|
|00001030| 49 53 54 5f 0d 0d 23 69 | 66 6e 64 65 66 20 5f 50 |IST_..#i|fndef _P|
|00001040| 4c 46 4d 44 45 46 5f 0d | 23 69 6e 63 6c 75 64 65 |LFMDEF_.|#include|
|00001050| 20 22 50 6c 66 6d 44 65 | 66 2e 68 22 09 2f 2f 20 | "PlfmDe|f.h".// |
|00001060| 4e 65 65 64 20 74 68 69 | 73 20 27 63 61 75 73 65 |Need thi|s 'cause|
|00001070| 20 69 74 20 6d 61 70 73 | 20 6e 61 6d 65 20 58 4d | it maps| name XM|
|00001080| 50 46 61 63 65 74 20 2d | 3e 20 58 4d 50 4d 61 63 |PFacet -|> XMPMac|
|00001090| 46 61 63 65 74 0d 23 65 | 6e 64 69 66 0d 0d 0d 63 |Facet.#e|ndif...c|
|000010a0| 6c 61 73 73 20 58 4d 50 | 46 61 63 65 74 3b 0d 0d |lass XMP|Facet;..|
|000010b0| 0d 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|000010c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000010d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000010e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000010f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001100| 3d 0d 2f 2f 20 46 61 63 | 65 74 4c 69 6e 6b 0d 2f |=.// Fac|etLink./|
|00001110| 2f 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |/=======|========|
|00001120| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001130| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001140| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001150| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00001160| 0d 63 6c 61 73 73 20 46 | 61 63 65 74 4c 69 6e 6b |.class F|acetLink|
|00001170| 0d 7b 0d 70 75 62 6c 69 | 63 3a 0d 09 0d 09 58 4d |.{.publi|c:....XM|
|00001180| 50 46 61 63 65 74 2a 09 | 46 61 63 65 74 28 20 29 |PFacet*.|Facet( )|
|00001190| 09 09 09 09 09 7b 72 65 | 74 75 72 6e 20 66 46 61 |.....{re|turn fFa|
|000011a0| 63 65 74 3b 7d 0d 09 46 | 61 63 65 74 4c 69 6e 6b |cet;}..F|acetLink|
|000011b0| 2a 09 4e 65 78 74 28 20 | 29 09 09 09 09 09 09 7b |*.Next( |)......{|
|000011c0| 72 65 74 75 72 6e 20 66 | 4e 65 78 74 3b 7d 0d 09 |return f|Next;}..|
|000011d0| 0d 70 72 6f 74 65 63 74 | 65 64 3a 0d 09 09 09 09 |.protect|ed:.....|
|000011e0| 46 61 63 65 74 4c 69 6e | 6b 28 20 58 4d 50 46 61 |FacetLin|k( XMPFa|
|000011f0| 63 65 74 2a 2c 20 46 61 | 63 65 74 4c 69 6e 6b 20 |cet*, Fa|cetLink |
|00001200| 2a 6c 69 73 74 20 29 3b | 0d 09 09 09 09 46 61 63 |*list );|.....Fac|
|00001210| 65 74 4c 69 6e 6b 28 20 | 29 3b 0d 09 09 09 09 7e |etLink( |);.....~|
|00001220| 46 61 63 65 74 4c 69 6e | 6b 28 20 29 3b 0d 09 09 |FacetLin|k( );...|
|00001230| 09 09 0d 09 58 4d 50 46 | 61 63 65 74 09 2a 66 46 |....XMPF|acet.*fF|
|00001240| 61 63 65 74 3b 0d 09 46 | 61 63 65 74 4c 69 6e 6b |acet;..F|acetLink|
|00001250| 09 2a 66 50 72 65 76 2c | 0d 09 09 09 09 2a 66 4e |.*fPrev,|.....*fN|
|00001260| 65 78 74 3b 0d 09 66 72 | 69 65 6e 64 20 63 6c 61 |ext;..fr|iend cla|
|00001270| 73 73 20 46 61 63 65 74 | 4c 69 73 74 3b 0d 7d 3b |ss Facet|List;.};|
|00001280| 0d 0d 0d 2f 2f 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...//===|========|
|00001290| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000012d0| 3d 3d 3d 0d 2f 2f 20 46 | 61 63 65 74 4c 69 73 74 |===.// F|acetList|
|000012e0| 0d 2f 2f 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.//=====|========|
|000012f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001300| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001310| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001320| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001330| 3d 0d 0d 63 6c 61 73 73 | 20 46 61 63 65 74 4c 69 |=..class| FacetLi|
|00001340| 73 74 20 3a 70 72 69 76 | 61 74 65 20 46 61 63 65 |st :priv|ate Face|
|00001350| 74 4c 69 6e 6b 0d 7b 0d | 70 75 62 6c 69 63 3a 0d |tLink.{.|public:.|
|00001360| 09 09 09 09 46 61 63 65 | 74 4c 69 73 74 28 20 29 |....Face|tList( )|
|00001370| 3b 0d 09 09 09 09 7e 46 | 61 63 65 74 4c 69 73 74 |;.....~F|acetList|
|00001380| 28 20 29 3b 0d 09 76 6f | 69 64 09 09 41 64 64 28 |( );..vo|id..Add(|
|00001390| 20 58 4d 50 46 61 63 65 | 74 2a 20 29 3b 0d 09 76 | XMPFace|t* );..v|
|000013a0| 6f 69 64 09 09 52 65 6d | 6f 76 65 28 20 58 4d 50 |oid..Rem|ove( XMP|
|000013b0| 46 61 63 65 74 2a 20 29 | 3b 0d 09 76 6f 69 64 09 |Facet* )|;..void.|
|000013c0| 09 49 6e 76 61 6c 41 6c | 6c 46 61 63 65 74 73 28 |.InvalAl|lFacets(|
|000013d0| 20 29 3b 0d 09 46 61 63 | 65 74 4c 69 6e 6b 2a 09 | );..Fac|etLink*.|
|000013e0| 46 69 72 73 74 28 20 29 | 09 09 09 09 09 7b 72 65 |First( )|.....{re|
|000013f0| 74 75 72 6e 20 66 4e 65 | 78 74 3b 7d 0d 7d 3b 0d |turn fNe|xt;}.};.|
|00001400| 0d 23 65 6e 64 69 66 20 | 2f 2a 5f 46 41 43 45 54 |.#endif |/*_FACET|
|00001410| 4c 49 53 54 5f 2a 2f 0d | 00 16 00 01 00 00 00 00 |LIST_*/.|........|
|00001420| 00 0b 00 09 00 04 00 00 | 00 09 00 00 00 00 00 00 |........|........|
|00001430| 00 05 00 02 00 00 00 27 | 00 00 00 15 00 00 00 27 |.......'|.......'|
|00001440| 31 30 30 32 00 00 13 89 | 00 00 20 00 00 00 00 00 |1002....|.. .....|
|00001450| 00 00 00 00 00 00 00 00 | 0d 48 65 6c 6c 6f 50 61 |........|.HelloPa|
|00001460| 72 74 2e 63 70 70 00 00 | 06 00 00 00 00 4e ca 00 |rt.cpp..|.....N..|
|00001470| 00 00 16 00 00 4e ca 00 | 00 ff ff 01 3a 01 a5 02 |.....N..|....:...|
|00001480| 66 01 00 00 00 00 00 7f | ff 0f a0 00 00 00 00 03 |f.......|........|
|00001490| ea 00 00 00 0c 00 00 00 | 04 00 04 ff fc 07 d0 00 |........|........|
|000014a0| 04 00 04 ff fc ff fc 00 | 00 00 00 00 00 00 00 83 |........|........|
|000014b0| 00 0b 6a 08 54 65 78 74 | 45 64 69 74 00 00 00 4e |..j.Text|Edit...N|
|000014c0| 68 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |h//-----|--------|
|000014d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|00001510| 55 49 20 45 76 65 6e 74 | 73 20 70 72 6f 74 6f 63 |UI Event|s protoc|
|00001520| 6f 6c 0d 2f 2f 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ol.//---|--------|
|00001530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0d |--------|------..|
|00001570| 58 4d 50 42 6f 6f 6c 65 | 61 6e 20 48 65 6c 6c 6f |XMPBoole|an Hello|
|00001580| 50 61 72 74 3a 3a 48 61 | 6e 64 6c 65 45 76 65 6e |Part::Ha|ndleEven|
|00001590| 74 28 58 4d 50 45 76 65 | 6e 74 44 61 74 61 20 65 |t(XMPEve|ntData e|
|000015a0| 76 65 6e 74 2c 20 58 4d | 50 46 72 61 6d 65 2a 20 |vent, XM|PFrame* |
|000015b0| 66 72 61 6d 65 2c 20 58 | 4d 50 46 61 63 65 74 2a |frame, X|MPFacet*|
|000015c0| 20 66 61 63 65 74 29 0d | 7b 0d 09 57 65 42 65 48 | facet).|{..WeBeH|
|000015d0| 65 72 65 28 22 48 65 6c | 6c 6f 50 61 72 74 3a 3a |ere("Hel|loPart::|
|000015e0| 48 61 6e 64 6c 65 45 76 | 65 6e 74 22 29 3b 0d 0d |HandleEv|ent");..|
|000015f0| 09 58 4d 50 42 6f 6f 6c | 65 61 6e 09 74 57 61 73 |.XMPBool|ean.tWas|
|00001600| 48 61 6e 64 6c 65 64 20 | 3d 20 6b 58 4d 50 46 61 |Handled |= kXMPFa|
|00001610| 6c 73 65 3b 0d 09 0d 09 | 73 77 69 74 63 68 20 28 |lse;....|switch (|
|00001620| 20 65 76 65 6e 74 2d 3e | 77 68 61 74 20 29 20 7b | event->|what ) {|
|00001630| 0d 09 09 63 61 73 65 20 | 6e 75 6c 6c 45 76 65 6e |...case |nullEven|
|00001640| 74 3a 0d 09 09 09 69 66 | 20 28 49 73 44 69 61 6c |t:....if| (IsDial|
|00001650| 6f 67 45 76 65 6e 74 28 | 65 76 65 6e 74 29 29 0d |ogEvent(|event)).|
|00001660| 09 09 09 7b 0d 09 09 09 | 09 73 68 6f 72 74 20 69 |...{....|.short i|
|00001670| 74 65 6d 48 69 74 3b 0d | 09 09 09 09 44 69 61 6c |temHit;.|....Dial|
|00001680| 6f 67 50 74 72 20 64 69 | 61 6c 6f 67 3b 0d 09 09 |ogPtr di|alog;...|
|00001690| 09 09 74 57 61 73 48 61 | 6e 64 6c 65 64 20 3d 20 |..tWasHa|ndled = |
|000016a0| 44 69 61 6c 6f 67 53 65 | 6c 65 63 74 28 65 76 65 |DialogSe|lect(eve|
|000016b0| 6e 74 2c 20 26 64 69 61 | 6c 6f 67 2c 20 26 69 74 |nt, &dia|log, &it|
|000016c0| 65 6d 48 69 74 29 3b 0d | 09 09 09 09 72 65 74 75 |emHit);.|....retu|
|000016d0| 72 6e 20 74 57 61 73 48 | 61 6e 64 6c 65 64 3b 0d |rn tWasH|andled;.|
|000016e0| 09 09 09 7d 0d 09 09 09 | 74 57 61 73 48 61 6e 64 |...}....|tWasHand|
|000016f0| 6c 65 64 20 3d 20 6b 58 | 4d 50 54 72 75 65 3b 0d |led = kX|MPTrue;.|
|00001700| 09 09 09 62 72 65 61 6b | 3b 0d 09 09 09 0d 09 09 |...break|;.......|
|00001710| 63 61 73 65 20 6d 6f 75 | 73 65 44 6f 77 6e 3a 0d |case mou|seDown:.|
|00001720| 09 09 09 74 57 61 73 48 | 61 6e 64 6c 65 64 20 3d |...tWasH|andled =|
|00001730| 20 74 68 69 73 2d 3e 4d | 79 48 61 6e 64 6c 65 4d | this->M|yHandleM|
|00001740| 6f 75 73 65 44 6f 77 6e | 28 65 76 65 6e 74 2c 20 |ouseDown|(event, |
|00001750| 66 72 61 6d 65 2c 20 66 | 61 63 65 74 29 3b 0d 09 |frame, f|acet);..|
|00001760| 09 09 62 72 65 61 6b 3b | 0d 09 09 09 0d 09 09 63 |..break;|.......c|
|00001770| 61 73 65 20 6b 58 4d 50 | 45 76 74 4d 6f 75 73 65 |ase kXMP|EvtMouse|
|00001780| 44 6f 77 6e 45 6d 62 65 | 64 64 65 64 3a 0d 09 09 |DownEmbe|dded:...|
|00001790| 63 61 73 65 20 6d 6f 75 | 73 65 55 70 3a 0d 09 09 |case mou|seUp:...|
|000017a0| 63 61 73 65 20 6b 65 79 | 44 6f 77 6e 3a 0d 09 09 |case key|Down:...|
|000017b0| 63 61 73 65 20 61 75 74 | 6f 4b 65 79 3a 0d 09 09 |case aut|oKey:...|
|000017c0| 63 61 73 65 20 61 63 74 | 69 76 61 74 65 45 76 74 |case act|ivateEvt|
|000017d0| 3a 0d 09 09 09 74 57 61 | 73 48 61 6e 64 6c 65 64 |:....tWa|sHandled|
|000017e0| 20 3d 20 6b 58 4d 50 54 | 72 75 65 3b 0d 09 09 09 | = kXMPT|rue;....|
|000017f0| 62 72 65 61 6b 3b 0d 09 | 09 63 61 73 65 20 6b 58 |break;..|.case kX|
|00001800| 4d 50 45 76 74 4d 65 6e | 75 3a 0d 09 09 09 74 57 |MPEvtMen|u:....tW|
|00001810| 61 73 48 61 6e 64 6c 65 | 64 20 3d 20 74 68 69 73 |asHandle|d = this|
|00001820| 2d 3e 4d 79 48 61 6e 64 | 6c 65 4d 65 6e 75 45 76 |->MyHand|leMenuEv|
|00001830| 65 6e 74 28 20 66 72 61 | 6d 65 2c 20 65 76 65 6e |ent( fra|me, even|
|00001840| 74 20 29 3b 0d 09 09 09 | 62 72 65 61 6b 3b 0d 09 |t );....|break;..|
|00001850| 09 64 65 66 61 75 6c 74 | 3a 0d 09 09 09 62 72 65 |.default|:....bre|
|00001860| 61 6b 3b 0d 09 7d 0d 0d | 09 72 65 74 75 72 6e 20 |ak;..}..|.return |
|00001870| 74 57 61 73 48 61 6e 64 | 6c 65 64 3b 0d 0d 2f 2f |tWasHand|led;..//|
|00001880| 20 42 65 6c 6f 77 20 69 | 73 20 73 6f 6d 65 20 64 | Below i|s some d|
|00001890| 6f 63 75 6d 65 6e 74 61 | 74 69 6f 6e 20 66 6f 72 |ocumenta|tion for|
|000018a0| 20 74 68 69 73 20 6d 65 | 74 68 6f 64 2e 20 20 49 | this me|thod. I|
|000018b0| 66 20 79 6f 75 20 64 6f | 6e 27 74 20 63 61 72 65 |f you do|n't care|
|000018c0| 20 66 6f 72 0d 2f 2f 20 | 62 65 69 6e 67 20 68 65 | for.// |being he|
|000018d0| 72 65 2c 20 74 68 65 6e | 20 6a 75 73 74 20 64 65 |re, then| just de|
|000018e0| 6c 65 74 65 20 69 74 2e | 0d 2f 2f 0d 2f 2f 20 54 |lete it.|.//.// T|
|000018f0| 68 65 20 66 72 61 6d 65 | 20 61 6e 64 20 66 61 63 |he frame| and fac|
|00001900| 65 74 20 70 61 72 61 6d | 65 74 65 72 73 20 6f 66 |et param|eters of|
|00001910| 20 48 61 6e 64 6c 65 45 | 76 65 6e 74 28 29 20 6d | HandleE|vent() m|
|00001920| 61 79 20 62 65 0d 2f 2f | 20 6b 58 4d 50 4e 55 4c |ay be.//| kXMPNUL|
|00001930| 4c 2c 20 64 65 70 65 6e | 64 69 6e 67 20 6f 6e 20 |L, depen|ding on |
|00001940| 74 68 65 20 6b 69 6e 64 | 20 6f 66 20 65 76 65 6e |the kind| of even|
|00001950| 74 2e 0d 2f 2f 0d 2f 2f | 20 50 61 72 74 73 20 6d |t..//.//| Parts m|
|00001960| 75 73 74 20 68 61 6e 64 | 6c 65 20 74 68 65 20 66 |ust hand|le the f|
|00001970| 6f 6c 6c 6f 77 69 6e 67 | 20 65 76 65 6e 74 73 2c |ollowing| events,|
|00001980| 20 77 68 69 63 68 20 63 | 6f 72 72 65 73 70 6f 6e | which c|orrespon|
|00001990| 64 20 74 6f 0d 2f 2f 20 | 73 74 61 6e 64 61 72 64 |d to.// |standard|
|000019a0| 20 4d 61 63 69 6e 74 6f | 73 68 20 65 76 65 6e 74 | Macinto|sh event|
|000019b0| 73 3a 0d 2f 2f 0d 2f 2f | 09 6b 58 4d 50 45 76 74 |s:.//.//|.kXMPEvt|
|000019c0| 4e 75 6c 6c 0d 2f 2f 20 | 09 6b 58 4d 50 45 76 74 |Null.// |.kXMPEvt|
|000019d0| 4d 6f 75 73 65 44 6f 77 | 6e 0d 2f 2f 20 09 6b 58 |MouseDow|n.// .kX|
|000019e0| 4d 50 45 76 74 4d 6f 75 | 73 65 55 70 0d 2f 2f 20 |MPEvtMou|seUp.// |
|000019f0| 09 6b 58 4d 50 45 76 74 | 4b 65 79 44 6f 77 6e 0d |.kXMPEvt|KeyDown.|
|00001a00| 2f 2f 20 09 6b 58 4d 50 | 45 76 74 4b 65 79 55 70 |// .kXMP|EvtKeyUp|
|00001a10| 0d 2f 2f 20 09 6b 58 4d | 50 45 76 74 41 75 74 6f |.// .kXM|PEvtAuto|
|00001a20| 4b 65 79 0d 2f 2f 20 09 | 6b 58 4d 50 45 76 74 55 |Key.// .|kXMPEvtU|
|00001a30| 70 64 61 74 65 0d 2f 2f | 20 09 6b 58 4d 50 45 76 |pdate.//| .kXMPEv|
|00001a40| 74 41 63 74 69 76 61 74 | 65 0d 2f 2f 20 09 6b 58 |tActivat|e.// .kX|
|00001a50| 4d 50 45 76 74 4f 53 0d | 2f 2f 0d 2f 2f 20 4e 75 |MPEvtOS.|//.// Nu|
|00001a60| 6c 6c 20 45 76 65 6e 74 | 73 20 2d 2d 0d 2f 2f 20 |ll Event|s --.// |
|00001a70| 49 6e 20 6f 72 64 65 72 | 20 74 6f 20 72 65 63 65 |In order| to rece|
|00001a80| 69 76 65 20 6e 75 6c 6c | 20 65 76 65 6e 74 73 20 |ive null| events |
|00001a90| 28 69 2e 65 2e 20 69 64 | 6c 65 20 74 69 6d 65 29 |(i.e. id|le time)|
|00001aa0| 2c 20 70 61 72 74 73 20 | 6d 75 73 74 20 63 61 6c |, parts |must cal|
|00001ab0| 6c 0d 2f 2f 20 58 4d 50 | 44 69 73 70 61 74 63 68 |l.// XMP|Dispatch|
|00001ac0| 65 72 3a 3a 52 65 67 69 | 73 74 65 72 49 64 6c 65 |er::Regi|sterIdle|
|00001ad0| 28 29 2c 20 73 70 65 63 | 69 66 79 69 6e 67 20 74 |(), spec|ifying t|
|00001ae0| 68 65 20 70 61 72 74 2c | 20 61 20 66 72 61 6d 65 |he part,| a frame|
|00001af0| 0d 2f 2f 20 28 6f 70 74 | 69 6f 6e 61 6c 29 20 61 |.// (opt|ional) a|
|00001b00| 6e 64 20 69 64 6c 65 20 | 66 72 65 71 75 65 6e 63 |nd idle |frequenc|
|00001b10| 79 2e 20 54 68 65 20 70 | 61 72 74 20 77 69 6c 6c |y. The p|art will|
|00001b20| 20 72 65 63 65 69 76 65 | 20 61 20 6e 75 6c 6c 20 | receive| a null |
|00001b30| 65 76 65 6e 74 0d 2f 2f | 20 66 6f 72 20 65 61 63 |event.//| for eac|
|00001b40| 68 20 66 72 61 6d 65 20 | 72 65 67 69 73 74 65 72 |h frame |register|
|00001b50| 65 64 2e 20 58 4d 50 44 | 69 73 70 61 74 63 68 65 |ed. XMPD|ispatche|
|00001b60| 72 3a 3a 47 65 74 53 6c | 65 65 70 54 69 6d 65 28 |r::GetSl|eepTime(|
|00001b70| 29 20 69 73 20 63 61 6c | 6c 65 64 0d 2f 2f 20 62 |) is cal|led.// b|
|00001b80| 79 20 74 68 65 20 73 68 | 65 6c 6c 2c 20 61 6e 64 |y the sh|ell, and|
|00001b90| 20 74 68 65 20 76 61 6c | 75 65 20 70 61 73 73 65 | the val|ue passe|
|00001ba0| 64 20 74 6f 20 57 61 69 | 74 4e 65 78 74 45 76 65 |d to Wai|tNextEve|
|00001bb0| 6e 74 2e 20 41 6e 20 61 | 70 70 72 6f 70 72 69 61 |nt. An a|ppropria|
|00001bc0| 74 65 0d 2f 2f 20 73 6c | 65 65 70 20 74 69 6d 65 |te.// sl|eep time|
|00001bd0| 20 69 73 20 63 6f 6d 70 | 75 74 65 64 20 62 61 73 | is comp|uted bas|
|00001be0| 65 64 20 6f 6e 20 74 68 | 65 20 69 64 6c 65 20 66 |ed on th|e idle f|
|00001bf0| 72 65 71 75 65 6e 63 69 | 65 73 20 6f 66 20 72 65 |requenci|es of re|
|00001c00| 67 69 73 74 65 72 65 64 | 0d 2f 2f 20 69 64 6c 65 |gistered|.// idle|
|00001c10| 20 66 72 61 6d 65 73 2e | 0d 2f 2f 0d 2f 2f 20 4d | frames.|.//.// M|
|00001c20| 6f 75 73 65 20 45 76 65 | 6e 74 73 20 2d 2d 0d 2f |ouse Eve|nts --./|
|00001c30| 2f 20 55 6e 6d 6f 64 69 | 66 69 65 64 20 6d 6f 75 |/ Unmodi|fied mou|
|00001c40| 73 65 20 65 76 65 6e 74 | 73 20 61 72 65 20 64 65 |se event|s are de|
|00001c50| 6c 69 76 65 72 65 64 20 | 74 6f 20 74 68 65 20 66 |livered |to the f|
|00001c60| 61 63 65 74 20 75 6e 64 | 65 72 20 74 68 65 20 6d |acet und|er the m|
|00001c70| 6f 75 73 65 0d 2f 2f 20 | 6c 6f 63 61 74 69 6f 6e |ouse.// |location|
|00001c80| 20 75 73 69 6e 67 20 50 | 61 72 74 3a 3a 48 61 6e | using P|art::Han|
|00001c90| 64 6c 65 45 76 65 6e 74 | 28 29 2e 0d 2f 2f 0d 2f |dleEvent|()..//./|
|00001ca0| 2f 20 53 68 69 66 74 2d | 43 6c 69 63 6b 20 61 6e |/ Shift-|Click an|
|00001cb0| 64 20 43 6f 6d 6d 61 6e | 64 2d 43 6c 69 63 6b 20 |d Comman|d-Click |
|00001cc0| 67 6f 20 74 6f 20 74 68 | 65 20 66 72 61 6d 65 20 |go to th|e frame |
|00001cd0| 77 69 74 68 20 74 68 65 | 20 73 65 6c 65 63 74 69 |with the| selecti|
|00001ce0| 6f 6e 0d 2f 2f 20 66 6f | 63 75 73 2e 20 20 4d 6f |on.// fo|cus. Mo|
|00001cf0| 75 73 65 20 65 76 65 6e | 74 73 20 69 6e 20 77 69 |use even|ts in wi|
|00001d00| 6e 64 6f 77 20 74 69 74 | 6c 65 20 62 61 72 73 20 |ndow tit|le bars |
|00001d10| 61 72 65 20 63 6f 6e 76 | 65 72 74 65 64 20 74 6f |are conv|erted to|
|00001d20| 20 77 69 6e 64 6f 77 0d | 2f 2f 20 65 76 65 6e 74 | window.|// event|
|00001d30| 73 2e 20 28 53 65 65 20 | 62 65 6c 6f 77 29 20 20 |s. (See |below) |
|00001d40| 4d 6f 75 73 65 20 64 6f | 77 6e 20 65 76 65 6e 74 |Mouse do|wn event|
|00001d50| 73 20 69 6e 20 74 68 65 | 20 6d 65 6e 75 20 62 61 |s in the| menu ba|
|00001d60| 72 20 61 72 65 20 63 6f | 6e 76 65 72 74 65 64 0d |r are co|nverted.|
|00001d70| 2f 2f 20 74 6f 20 6d 65 | 6e 75 20 65 76 65 6e 74 |// to me|nu event|
|00001d80| 73 2e 20 28 53 65 65 20 | 62 65 6c 6f 77 29 0d 2f |s. (See |below)./|
|00001d90| 2f 0d 2f 2f 20 4b 65 79 | 62 6f 61 72 64 20 45 76 |/.// Key|board Ev|
|00001da0| 65 6e 74 73 20 2d 2d 0d | 2f 2f 20 4b 65 79 62 6f |ents --.|// Keybo|
|00001db0| 61 72 64 20 65 76 65 6e | 74 73 20 67 6f 20 74 6f |ard even|ts go to|
|00001dc0| 20 74 68 65 20 66 72 61 | 6d 65 20 77 69 74 68 20 | the fra|me with |
|00001dd0| 74 68 65 20 6b 65 79 62 | 6f 61 72 64 20 66 6f 63 |the keyb|oard foc|
|00001de0| 75 73 2c 20 77 69 74 68 | 20 74 68 65 0d 2f 2f 20 |us, with| the.// |
|00001df0| 65 78 63 65 70 74 69 6f | 6e 20 6f 66 20 74 68 65 |exceptio|n of the|
|00001e00| 20 50 61 67 65 20 55 70 | 2c 20 50 61 67 65 20 44 | Page Up|, Page D|
|00001e10| 6f 77 6e 2c 20 48 6f 6d | 65 20 61 6e 64 20 45 6e |own, Hom|e and En|
|00001e20| 64 20 6b 65 79 73 2c 20 | 77 68 69 63 68 20 77 69 |d keys, |which wi|
|00001e30| 6c 6c 0d 2f 2f 20 67 6f | 20 74 6f 20 74 68 65 20 |ll.// go| to the |
|00001e40| 66 72 61 6d 65 20 77 69 | 74 68 20 74 68 65 20 73 |frame wi|th the s|
|00001e50| 63 72 6f 6c 6c 69 6e 67 | 20 66 6f 63 75 73 2c 20 |crolling| focus, |
|00001e60| 69 66 20 74 68 65 72 65 | 20 69 73 20 6f 6e 65 2e |if there| is one.|
|00001e70| 0d 2f 2f 0d 2f 2f 20 55 | 70 64 61 74 65 20 45 76 |.//.// U|pdate Ev|
|00001e80| 65 6e 74 73 20 2d 2d 0d | 2f 2f 20 55 70 64 61 74 |ents --.|// Updat|
|00001e90| 65 20 65 76 65 6e 74 73 | 20 61 72 65 20 6e 6f 74 |e events| are not|
|00001ea0| 20 70 61 73 73 65 64 20 | 74 6f 20 50 61 72 74 3a | passed |to Part:|
|00001eb0| 3a 48 61 6e 64 6c 65 45 | 76 65 6e 74 28 29 2e 20 |:HandleE|vent(). |
|00001ec0| 52 61 74 68 65 72 0d 2f | 2f 20 50 61 72 74 3a 3a |Rather./|/ Part::|
|00001ed0| 44 72 61 77 28 29 20 77 | 69 6c 6c 20 62 65 20 63 |Draw() w|ill be c|
|00001ee0| 61 6c 6c 65 64 20 66 6f | 72 20 65 61 63 68 20 66 |alled fo|r each f|
|00001ef0| 61 63 65 74 20 69 6e 20 | 74 68 65 20 77 69 6e 64 |acet in |the wind|
|00001f00| 6f 77 2e 0d 2f 2f 0d 2f | 2f 20 41 63 74 69 76 61 |ow..//./|/ Activa|
|00001f10| 74 65 20 45 76 65 6e 74 | 73 20 2d 2d 0d 2f 2f 20 |te Event|s --.// |
|00001f20| 41 63 74 69 76 61 74 65 | 20 65 76 65 6e 74 73 20 |Activate| events |
|00001f30| 61 72 65 20 61 6c 73 6f | 20 64 65 6c 69 76 65 72 |are also| deliver|
|00001f40| 65 64 20 74 6f 20 65 61 | 63 68 20 66 61 63 65 74 |ed to ea|ch facet|
|00001f50| 2c 20 75 73 69 6e 67 0d | 2f 2f 20 50 61 72 74 3a |, using.|// Part:|
|00001f60| 3a 48 61 6e 64 6c 65 45 | 76 65 6e 74 28 29 2e 0d |:HandleE|vent()..|
|00001f70| 2f 2f 0d 2f 2f 20 44 69 | 73 6b 20 45 76 65 6e 74 |//.// Di|sk Event|
|00001f80| 73 20 2d 2d 0d 2f 2f 20 | 43 75 72 72 65 6e 74 6c |s --.// |Currentl|
|00001f90| 79 2c 20 64 69 73 6b 20 | 65 76 65 6e 74 73 20 61 |y, disk |events a|
|00001fa0| 72 65 20 6e 6f 74 20 64 | 69 73 74 72 69 62 75 74 |re not d|istribut|
|00001fb0| 65 64 20 74 6f 20 70 61 | 72 74 73 2e 0d 2f 2f 20 |ed to pa|rts..// |
|00001fc0| 42 75 74 20 77 68 65 72 | 65 20 64 6f 20 74 68 65 |But wher|e do the|
|00001fd0| 79 20 67 6f 3f 3f 3f 0d | 2f 2f 0d 2f 2f 20 4f 53 |y go???.|//.// OS|
|00001fe0| 20 45 76 65 6e 74 73 20 | 2d 2d 0d 2f 2f 20 53 75 | Events |--.// Su|
|00001ff0| 73 70 65 6e 64 2f 52 65 | 73 75 6d 65 20 65 76 65 |spend/Re|sume eve|
|00002000| 6e 74 73 20 61 72 65 20 | 64 65 6c 69 76 65 72 65 |nts are |delivere|
|00002010| 64 20 74 6f 20 65 61 63 | 68 20 66 61 63 65 74 20 |d to eac|h facet |
|00002020| 69 6e 20 65 61 63 68 0d | 2f 2f 20 77 69 6e 64 6f |in each.|// windo|
|00002030| 77 20 75 73 69 6e 67 20 | 50 61 72 74 3a 3a 48 61 |w using |Part::Ha|
|00002040| 6e 64 6c 65 45 76 65 6e | 74 28 29 2e 20 0d 2f 2f |ndleEven|t(). .//|
|00002050| 0d 2f 2f 20 4d 6f 75 73 | 65 20 4d 6f 76 65 64 20 |.// Mous|e Moved |
|00002060| 65 76 65 6e 74 73 20 61 | 72 65 20 6e 6f 74 20 70 |events a|re not p|
|00002070| 61 73 73 65 64 20 74 6f | 20 50 61 72 74 3a 3a 48 |assed to| Part::H|
|00002080| 61 6e 64 6c 65 45 76 65 | 6e 74 28 29 2e 0d 2f 2f |andleEve|nt()..//|
|00002090| 20 54 68 65 79 20 61 72 | 65 20 68 61 6e 64 6c 65 | They ar|e handle|
|000020a0| 64 20 62 79 20 74 68 65 | 20 64 69 73 70 61 74 63 |d by the| dispatc|
|000020b0| 68 65 72 2c 20 61 6e 64 | 20 74 72 61 6e 73 6c 61 |her, and| transla|
|000020c0| 74 65 64 20 69 6e 74 6f | 20 63 61 6c 6c 73 0d 2f |ted into| calls./|
|000020d0| 2f 20 74 6f 20 50 61 72 | 74 3a 3a 4d 6f 75 73 65 |/ to Par|t::Mouse|
|000020e0| 45 6e 74 65 72 28 29 2c | 20 4d 6f 75 73 65 57 69 |Enter(),| MouseWi|
|000020f0| 74 68 69 6e 28 29 20 61 | 6e 64 20 4d 6f 75 73 65 |thin() a|nd Mouse|
|00002100| 4c 65 61 76 65 28 29 2e | 0d 2f 2f 20 53 65 65 20 |Leave().|.// See |
|00002110| 43 75 72 73 6f 72 20 54 | 72 61 63 6b 69 6e 67 20 |Cursor T|racking |
|00002120| 62 65 6c 6f 77 2e 0d 2f | 2f 0d 2f 2f 20 4d 65 6e |below../|/.// Men|
|00002130| 75 20 45 76 65 6e 74 73 | 20 2d 2d 0d 2f 2f 20 4f |u Events| --.// O|
|00002140| 70 65 6e 44 6f 63 20 63 | 6f 6e 76 65 72 74 73 20 |penDoc c|onverts |
|00002150| 61 20 6d 6f 75 73 65 20 | 64 6f 77 6e 20 69 6e 20 |a mouse |down in |
|00002160| 74 68 65 20 6d 65 6e 75 | 20 62 61 72 2c 20 6f 72 |the menu| bar, or|
|00002170| 20 69 74 73 0d 2f 2f 20 | 63 6f 6d 6d 61 6e 64 2d | its.// |command-|
|00002180| 6b 65 79 20 65 71 75 69 | 76 61 6c 65 6e 74 2c 20 |key equi|valent, |
|00002190| 69 6e 74 6f 20 61 20 6d | 65 6e 75 20 65 76 65 6e |into a m|enu even|
|000021a0| 74 20 6f 66 20 74 79 70 | 65 20 6b 58 4d 50 45 76 |t of typ|e kXMPEv|
|000021b0| 74 4d 65 6e 75 2e 0d 2f | 2f 0d 2f 2f 20 54 68 65 |tMenu../|/.// The|
|000021c0| 20 6d 65 73 73 61 67 65 | 20 66 69 65 6c 64 20 6f | message| field o|
|000021d0| 66 20 74 68 65 20 65 76 | 65 6e 74 20 72 65 63 6f |f the ev|ent reco|
|000021e0| 72 64 20 63 6f 6e 74 61 | 69 6e 73 20 74 68 65 20 |rd conta|ins the |
|000021f0| 72 65 73 75 6c 74 20 0d | 2f 2f 20 72 65 74 75 72 |result .|// retur|
|00002200| 6e 65 64 20 62 79 20 4d | 65 6e 75 53 65 6c 65 63 |ned by M|enuSelec|
|00002210| 74 28 29 20 6f 72 20 4d | 65 6e 75 4b 65 79 28 29 |t() or M|enuKey()|
|00002220| 2e 20 69 2e 65 2e 20 74 | 68 65 20 6d 65 6e 75 20 |. i.e. t|he menu |
|00002230| 69 73 20 69 6e 20 0d 2f | 2f 20 74 68 65 20 68 69 |is in ./|/ the hi|
|00002240| 67 68 20 77 6f 72 64 2c | 20 61 6e 64 20 74 68 65 |gh word,| and the|
|00002250| 20 69 74 65 6d 20 69 6e | 20 74 68 65 20 6c 6f 77 | item in| the low|
|00002260| 20 77 6f 72 64 2e 20 54 | 68 65 20 70 61 72 74 20 | word. T|he part |
|00002270| 63 61 6e 20 0d 2f 2f 20 | 6f 62 74 61 69 6e 20 61 |can .// |obtain a|
|00002280| 20 63 6f 6d 6d 61 6e 64 | 20 6e 75 6d 62 65 72 20 | command| number |
|00002290| 75 73 69 6e 67 20 58 4d | 50 4d 65 6e 75 42 61 72 |using XM|PMenuBar|
|000022a0| 3a 3a 47 65 74 43 6f 6d | 6d 61 6e 64 28 29 2e 0d |::GetCom|mand()..|
|000022b0| 2f 2f 0d 2f 2f 20 57 69 | 6e 64 6f 77 20 45 76 65 |//.// Wi|ndow Eve|
|000022c0| 6e 74 73 20 2d 2d 0d 2f | 2f 20 45 76 65 6e 74 73 |nts --./|/ Events|
|000022d0| 20 69 6e 20 74 68 65 20 | 74 69 74 6c 65 20 62 61 | in the |title ba|
|000022e0| 72 20 6f 66 20 61 20 77 | 69 6e 64 6f 77 20 28 65 |r of a w|indow (e|
|000022f0| 67 2e 20 63 6c 69 63 6b | 69 6e 67 20 69 6e 20 74 |g. click|ing in t|
|00002300| 68 65 0d 2f 2f 20 63 6c | 6f 73 65 20 62 6f 78 29 |he.// cl|ose box)|
|00002310| 20 61 72 65 20 75 73 75 | 61 6c 6c 79 20 68 61 6e | are usu|ally han|
|00002320| 64 6c 65 64 20 62 79 20 | 74 68 65 20 73 68 65 6c |dled by |the shel|
|00002330| 6c 2c 20 62 75 74 20 61 | 72 65 20 66 69 72 73 74 |l, but a|re first|
|00002340| 0d 2f 2f 20 6f 66 66 65 | 72 65 64 20 74 6f 20 74 |.// offe|red to t|
|00002350| 68 65 20 72 6f 6f 74 20 | 70 61 72 74 20 6f 66 20 |he root |part of |
|00002360| 74 68 65 20 77 69 6e 64 | 6f 77 2e 20 50 61 72 74 |the wind|ow. Part|
|00002370| 73 20 77 68 69 63 68 20 | 77 69 73 68 20 74 6f 0d |s which |wish to.|
|00002380| 2f 2f 20 69 6e 74 65 72 | 63 65 70 74 20 74 68 65 |// inter|cept the|
|00002390| 73 65 20 65 76 65 6e 74 | 73 20 28 70 65 72 68 61 |se event|s (perha|
|000023a0| 70 73 20 74 6f 20 68 69 | 64 65 20 72 61 74 68 65 |ps to hi|de rathe|
|000023b0| 72 20 74 68 61 6e 20 63 | 6c 6f 73 65 20 61 0d 2f |r than c|lose a./|
|000023c0| 2f 20 77 69 6e 64 6f 77 | 29 20 6d 75 73 74 20 68 |/ window|) must h|
|000023d0| 61 6e 64 6c 65 20 74 68 | 65 20 66 6f 6c 6c 6f 77 |andle th|e follow|
|000023e0| 69 6e 67 20 65 76 65 6e | 74 3a 20 6b 58 4d 50 45 |ing even|t: kXMPE|
|000023f0| 76 74 57 69 6e 64 6f 77 | 20 0d 2f 2f 20 54 68 65 |vtWindow| .// The|
|00002400| 20 6d 65 73 73 61 67 65 | 20 66 69 65 6c 64 20 6f | message| field o|
|00002410| 66 20 74 68 65 20 65 76 | 65 6e 74 20 63 6f 6e 74 |f the ev|ent cont|
|00002420| 61 69 6e 73 20 74 68 65 | 20 70 61 72 74 20 63 6f |ains the| part co|
|00002430| 64 65 2c 20 61 73 0d 2f | 2f 20 72 65 74 75 72 6e |de, as./|/ return|
|00002440| 65 64 20 62 79 20 46 69 | 6e 64 57 69 6e 64 6f 77 |ed by Fi|ndWindow|
|00002450| 28 29 2e 0d 2f 2f 0d 2f | 2f 20 45 76 65 6e 74 73 |()..//./|/ Events|
|00002460| 20 69 6e 20 45 6d 62 65 | 64 64 65 64 20 46 72 61 | in Embe|dded Fra|
|00002470| 6d 65 73 20 2d 2d 0d 2f | 2f 20 50 61 72 74 73 20 |mes --./|/ Parts |
|00002480| 77 68 69 63 68 20 73 75 | 70 70 6f 72 74 20 65 6d |which su|pport em|
|00002490| 62 65 64 64 69 6e 67 20 | 6d 61 79 20 61 6c 73 6f |bedding |may also|
|000024a0| 20 72 65 63 65 69 76 65 | 20 74 68 65 20 66 6f 6c | receive| the fol|
|000024b0| 6c 6f 77 69 6e 67 20 65 | 76 65 6e 74 73 3a 0d 2f |lowing e|vents:./|
|000024c0| 2f 09 0d 2f 2f 09 6b 58 | 4d 50 45 76 74 4d 6f 75 |/..//.kX|MPEvtMou|
|000024d0| 73 65 44 6f 77 6e 45 6d | 62 65 64 64 65 64 20 0d |seDownEm|bedded .|
|000024e0| 2f 2f 09 6b 58 4d 50 45 | 76 74 4d 6f 75 73 65 55 |//.kXMPE|vtMouseU|
|000024f0| 70 45 6d 62 65 64 64 65 | 64 0d 2f 2f 09 6b 58 4d |pEmbedde|d.//.kXM|
|00002500| 50 45 76 74 4d 6f 75 73 | 65 44 6f 77 6e 42 6f 72 |PEvtMous|eDownBor|
|00002510| 64 65 72 0d 2f 2f 09 6b | 58 4d 50 45 76 74 4d 6f |der.//.k|XMPEvtMo|
|00002520| 75 73 65 55 70 42 6f 72 | 64 65 72 0d 2f 2f 0d 2f |useUpBor|der.//./|
|00002530| 2f 20 49 66 20 74 68 65 | 20 75 73 65 72 20 63 6c |/ If the| user cl|
|00002540| 69 63 6b 73 20 69 6e 20 | 74 68 65 20 61 63 74 69 |icks in |the acti|
|00002550| 76 65 20 62 6f 72 64 65 | 72 2c 20 74 68 65 20 63 |ve borde|r, the c|
|00002560| 6f 6e 74 61 69 6e 69 6e | 67 0d 2f 2f 20 66 61 63 |ontainin|g.// fac|
|00002570| 65 74 2f 66 72 61 6d 65 | 2f 70 61 72 74 20 77 69 |et/frame|/part wi|
|00002580| 6c 6c 20 72 65 63 65 69 | 76 65 20 61 20 6b 58 4d |ll recei|ve a kXM|
|00002590| 50 45 76 74 4d 6f 75 73 | 65 44 6f 77 6e 42 6f 72 |PEvtMous|eDownBor|
|000025a0| 64 65 72 20 65 76 65 6e | 74 2e 0d 2f 2f 20 54 68 |der even|t..// Th|
|000025b0| 65 20 6d 65 73 73 61 67 | 65 20 66 69 65 6c 64 20 |e messag|e field |
|000025c0| 6f 66 20 74 68 65 20 65 | 76 65 6e 74 20 72 65 63 |of the e|vent rec|
|000025d0| 6f 72 64 20 63 6f 6e 74 | 61 69 6e 73 20 74 68 65 |ord cont|ains the|
|000025e0| 20 65 6d 62 65 64 64 65 | 64 20 66 61 63 65 74 2e | embedde|d facet.|
|000025f0| 0d 2f 2f 0d 2f 2f 20 53 | 69 6d 69 6c 61 72 6c 79 |.//.// S|imilarly|
|00002600| 2c 20 69 66 20 74 68 65 | 20 75 73 65 72 20 63 6c |, if the| user cl|
|00002610| 69 63 6b 73 20 69 6e 20 | 61 6e 20 65 6d 62 65 64 |icks in |an embed|
|00002620| 64 65 64 20 66 72 61 6d | 65 20 77 69 74 68 20 74 |ded fram|e with t|
|00002630| 68 65 0d 2f 2f 20 d2 66 | 72 6f 7a 65 6e d3 20 6f |he.// .f|rozen. o|
|00002640| 72 20 d2 73 65 6c 65 63 | 74 65 64 d3 20 70 72 6f |r .selec|ted. pro|
|00002650| 70 65 72 74 79 20 73 65 | 74 2c 20 61 20 6b 58 4d |perty se|t, a kXM|
|00002660| 50 45 76 74 4d 6f 75 73 | 65 44 6f 77 6e 45 6d 62 |PEvtMous|eDownEmb|
|00002670| 65 64 64 65 64 0d 2f 2f | 20 65 76 65 6e 74 20 69 |edded.//| event i|
|00002680| 73 20 64 69 72 65 63 74 | 65 64 20 74 6f 20 74 68 |s direct|ed to th|
|00002690| 65 20 63 6f 6e 74 61 69 | 6e 69 6e 67 20 66 72 61 |e contai|ning fra|
|000026a0| 6d 65 2e 0d 2f 2f 0d 2f | 2f 20 49 66 20 74 68 65 |me..//./|/ If the|
|000026b0| 20 75 73 65 72 20 73 68 | 69 66 74 2d 63 6c 69 63 | user sh|ift-clic|
|000026c0| 6b 73 20 6f 72 20 63 6f | 6d 6d 61 6e 64 2d 63 6c |ks or co|mmand-cl|
|000026d0| 69 63 6b 73 20 69 6e 20 | 61 20 66 72 61 6d 65 20 |icks in |a frame |
|000026e0| 77 68 69 63 68 20 69 73 | 0d 2f 2f 20 65 6d 62 65 |which is|.// embe|
|000026f0| 64 64 65 64 20 69 6e 20 | 74 68 65 20 66 72 61 6d |dded in |the fram|
|00002700| 65 20 77 69 74 68 20 74 | 68 65 20 73 65 6c 65 63 |e with t|he selec|
|00002710| 74 69 6f 6e 20 66 6f 63 | 75 73 2c 20 74 68 65 6e |tion foc|us, then|
|00002720| 20 74 68 65 20 6c 61 74 | 74 65 72 0d 2f 2f 20 66 | the lat|ter.// f|
|00002730| 72 61 6d 65 20 67 65 74 | 73 20 61 20 6b 58 4d 50 |rame get|s a kXMP|
|00002740| 45 76 74 4d 6f 75 73 65 | 44 6f 77 6e 45 6d 62 65 |EvtMouse|DownEmbe|
|00002750| 64 64 65 64 20 65 76 65 | 6e 74 2e 20 20 0d 2f 2f |dded eve|nt. .//|
|00002760| 0d 2f 2f 20 43 75 72 73 | 6f 72 20 54 72 61 63 6b |.// Curs|or Track|
|00002770| 69 6e 67 20 2d 2d 0d 2f | 2f 20 4f 70 65 6e 44 6f |ing --./|/ OpenDo|
|00002780| 63 20 74 72 61 63 6b 73 | 20 63 75 72 73 6f 72 20 |c tracks| cursor |
|00002790| 6d 6f 76 65 6d 65 6e 74 | 20 28 77 69 74 68 20 74 |movement| (with t|
|000027a0| 68 65 20 6d 6f 75 73 65 | 20 62 75 74 74 6f 6e 20 |he mouse| button |
|000027b0| 75 70 29 2c 20 61 6e 64 | 0d 2f 2f 20 63 61 6c 6c |up), and|.// call|
|000027c0| 73 20 4d 6f 75 73 65 45 | 6e 74 65 72 28 29 20 77 |s MouseE|nter() w|
|000027d0| 68 65 6e 20 74 68 65 20 | 63 75 72 73 6f 72 20 66 |hen the |cursor f|
|000027e0| 69 72 73 74 20 6d 6f 76 | 65 73 20 69 6e 74 6f 20 |irst mov|es into |
|000027f0| 61 20 66 61 63 65 74 2c | 20 61 6e 64 0d 2f 2f 20 |a facet,| and.// |
|00002800| 4d 6f 75 73 65 4c 65 61 | 76 65 28 29 20 77 68 65 |MouseLea|ve() whe|
|00002810| 6e 20 74 68 65 20 63 75 | 72 73 6f 72 20 6c 65 61 |n the cu|rsor lea|
|00002820| 76 65 73 20 74 68 65 20 | 66 61 63 65 74 2e 20 41 |ves the |facet. A|
|00002830| 20 70 61 72 74 20 63 61 | 6e 20 63 68 61 6e 67 65 | part ca|n change|
|00002840| 0d 2f 2f 20 74 68 65 20 | 63 75 72 73 6f 72 20 6f |.// the |cursor o|
|00002850| 6e 20 4d 6f 75 73 65 45 | 6e 74 65 72 2c 20 61 6e |n MouseE|nter, an|
|00002860| 64 20 73 65 74 20 69 74 | 20 74 6f 20 74 68 65 20 |d set it| to the |
|00002870| 61 72 72 6f 77 20 6f 6e | 20 4d 6f 75 73 65 4c 65 |arrow on| MouseLe|
|00002880| 61 76 65 2e 0d 2f 2f 0d | 2f 2f 20 54 68 69 73 20 |ave..//.|// This |
|00002890| 70 72 6f 63 65 73 73 20 | 69 73 20 74 72 69 67 67 |process |is trigg|
|000028a0| 65 72 65 64 20 62 79 20 | 74 68 65 20 73 68 65 6c |ered by |the shel|
|000028b0| 6c 20 63 61 6c 6c 69 6e | 67 0d 2f 2f 20 58 4d 50 |l callin|g.// XMP|
|000028c0| 44 69 73 70 61 74 63 68 | 65 72 3a 3a 47 65 74 4d |Dispatch|er::GetM|
|000028d0| 6f 75 73 65 52 65 67 69 | 6f 6e 28 29 20 61 6e 64 |ouseRegi|on() and|
|000028e0| 20 70 61 73 73 69 6e 67 | 20 74 68 65 20 72 65 73 | passing| the res|
|000028f0| 75 6c 74 20 74 6f 0d 2f | 2f 20 57 61 69 74 4e 65 |ult to./|/ WaitNe|
|00002900| 78 74 45 76 65 6e 74 28 | 29 2e 20 54 68 65 20 72 |xtEvent(|). The r|
|00002910| 65 67 69 6f 6e 20 69 73 | 20 6f 6e 6c 79 20 72 65 |egion is| only re|
|00002920| 63 6f 6d 70 75 74 65 64 | 20 77 68 65 6e 20 6e 65 |computed| when ne|
|00002930| 63 65 73 73 61 72 79 2e | 20 0d 2f 2f 20 49 66 20 |cessary.| .// If |
|00002940| 74 68 65 20 63 75 72 73 | 6f 72 20 69 73 20 6d 6f |the curs|or is mo|
|00002950| 74 69 6f 6e 6c 65 73 73 | 20 77 69 74 68 69 6e 20 |tionless| within |
|00002960| 61 20 66 61 63 65 74 2c | 20 74 68 65 20 73 68 65 |a facet,| the she|
|00002970| 6c 6c 20 61 70 70 6c 69 | 63 61 74 69 6f 6e 0d 2f |ll appli|cation./|
|00002980| 2f 20 67 6f 65 73 20 74 | 6f 20 73 6c 65 65 70 20 |/ goes t|o sleep |
|00002990| 62 65 63 61 75 73 65 20 | 4f 70 65 6e 44 6f 63 20 |because |OpenDoc |
|000029a0| 63 6f 6d 70 75 74 65 73 | 20 61 20 6d 6f 75 73 65 |computes| a mouse|
|000029b0| 20 72 65 67 69 6f 6e 20 | 63 6f 6e 74 61 69 6e 69 | region |containi|
|000029c0| 6e 67 0d 2f 2f 20 6a 75 | 73 74 20 74 68 65 20 63 |ng.// ju|st the c|
|000029d0| 75 72 73 6f 72 20 6c 6f | 63 61 74 69 6f 6e 2e 20 |ursor lo|cation. |
|000029e0| 54 68 65 20 70 61 72 74 | 20 63 61 6e 20 6d 61 6b |The part| can mak|
|000029f0| 65 20 74 68 69 73 20 72 | 65 67 69 6f 6e 20 6c 61 |e this r|egion la|
|00002a00| 72 67 65 72 0d 2f 2f 20 | 62 79 20 63 61 6c 6c 69 |rger.// |by calli|
|00002a10| 6e 67 20 58 4d 50 44 69 | 73 70 61 74 63 68 65 72 |ng XMPDi|spatcher|
|00002a20| 3a 3a 53 65 74 4d 6f 75 | 73 65 52 65 67 69 6f 6e |::SetMou|seRegion|
|00002a30| 28 29 2e 20 49 6e 20 61 | 20 66 75 74 75 72 65 20 |(). In a| future |
|00002a40| 72 65 6c 65 61 73 65 2c | 0d 2f 2f 20 4f 70 65 6e |release,|.// Open|
|00002a50| 44 6f 63 20 77 69 6c 6c | 20 61 6c 73 6f 20 63 6f |Doc will| also co|
|00002a60| 6d 70 75 74 65 20 61 20 | 73 75 69 74 61 62 6c 79 |mpute a |suitably|
|00002a70| 20 6c 61 72 67 65 20 73 | 6c 65 65 70 20 72 65 67 | large s|leep reg|
|00002a80| 69 6f 6e 20 69 66 20 74 | 68 65 0d 2f 2f 20 63 75 |ion if t|he.// cu|
|00002a90| 72 73 6f 72 20 69 73 20 | 6e 6f 74 20 77 69 74 68 |rsor is |not with|
|00002aa0| 69 6e 20 61 6e 79 20 66 | 61 63 65 74 2e 0d 2f 2f |in any f|acet..//|
|00002ab0| 0d 2f 2f 20 4d 6f 64 61 | 6c 20 46 6f 63 75 73 20 |.// Moda|l Focus |
|00002ac0| 2d 2d 0d 2f 2f 20 53 6f | 6d 65 20 65 76 65 6e 74 |--.// So|me event|
|00002ad0| 73 20 61 72 65 20 63 6f | 6e 73 74 72 61 69 6e 65 |s are co|nstraine|
|00002ae0| 64 20 62 79 20 74 68 65 | 20 6d 6f 64 61 6c 20 66 |d by the| modal f|
|00002af0| 6f 63 75 73 2e 20 46 6f | 72 20 65 78 61 6d 70 6c |ocus. Fo|r exampl|
|00002b00| 65 20 61 0d 2f 2f 20 6d | 6f 75 73 65 20 63 6c 69 |e a.// m|ouse cli|
|00002b10| 63 6b 20 6f 75 74 73 69 | 64 65 20 74 68 65 20 66 |ck outsi|de the f|
|00002b20| 72 61 6d 65 20 77 69 74 | 68 20 74 68 65 20 6d 6f |rame wit|h the mo|
|00002b30| 64 61 6c 20 66 6f 63 75 | 73 20 77 69 6c 6c 20 62 |dal focu|s will b|
|00002b40| 65 20 73 65 6e 74 0d 2f | 2f 20 74 6f 20 74 68 65 |e sent./|/ to the|
|00002b50| 20 6d 6f 64 61 6c 20 66 | 6f 63 75 73 20 66 72 61 | modal f|ocus fra|
|00002b60| 6d 65 2c 20 62 75 74 20 | 61 20 63 6c 69 63 6b 20 |me, but |a click |
|00002b70| 69 6e 20 61 6e 20 65 6d | 62 65 64 64 65 64 20 66 |in an em|bedded f|
|00002b80| 72 61 6d 65 0d 2f 2f 20 | 77 69 74 68 69 6e 20 74 |rame.// |within t|
|00002b90| 68 65 20 6d 6f 64 61 6c | 20 66 6f 63 75 73 20 66 |he modal| focus f|
|00002ba0| 72 61 6d 65 20 77 69 6c | 6c 20 67 6f 20 74 6f 20 |rame wil|l go to |
|00002bb0| 74 68 65 20 65 6d 62 65 | 64 64 65 64 20 66 72 61 |the embe|dded fra|
|00002bc0| 6d 65 2e 20 0d 2f 2f 0d | 2f 2f 20 50 72 6f 70 61 |me. .//.|// Propa|
|00002bd0| 67 61 74 69 6e 67 20 45 | 76 65 6e 74 73 20 2d 2d |gating E|vents --|
|00002be0| 0d 2f 2f 20 49 66 20 61 | 20 63 6f 6e 74 61 69 6e |.// If a| contain|
|00002bf0| 69 6e 67 20 70 61 72 74 | 20 73 65 74 73 20 74 68 |ing part| sets th|
|00002c00| 65 20 d2 44 6f 65 73 50 | 72 6f 70 61 67 61 74 65 |e .DoesP|ropagate|
|00002c10| 45 76 65 6e 74 73 d3 20 | 70 72 6f 70 65 72 74 79 |Events. |property|
|00002c20| 20 6f 66 0d 2f 2f 20 61 | 6e 20 65 6d 62 65 64 64 | of.// a|n embedd|
|00002c30| 65 64 20 66 72 61 6d 65 | 2c 20 74 68 65 20 63 6f |ed frame|, the co|
|00002c40| 6e 74 61 69 6e 69 6e 67 | 20 70 61 72 74 20 77 69 |ntaining| part wi|
|00002c50| 6c 6c 20 72 65 63 65 69 | 76 65 20 65 76 65 6e 74 |ll recei|ve event|
|00002c60| 73 20 6e 6f 74 0d 2f 2f | 20 68 61 6e 64 6c 65 64 |s not.//| handled|
|00002c70| 20 62 79 20 74 68 65 20 | 65 6d 62 65 64 64 65 64 | by the |embedded|
|00002c80| 20 66 72 61 6d 65 2e 20 | 41 20 70 61 72 74 20 77 | frame. |A part w|
|00002c90| 68 69 63 68 20 64 6f 65 | 73 20 74 68 69 73 20 77 |hich doe|s this w|
|00002ca0| 69 6c 6c 20 68 61 76 65 | 0d 2f 2f 20 74 6f 20 69 |ill have|.// to i|
|00002cb0| 6e 73 70 65 63 74 20 74 | 68 65 20 66 72 61 6d 65 |nspect t|he frame|
|00002cc0| 20 70 61 73 73 65 64 20 | 74 6f 20 48 61 6e 64 6c | passed |to Handl|
|00002cd0| 65 45 76 65 6e 74 28 29 | 20 74 6f 20 64 65 74 65 |eEvent()| to dete|
|00002ce0| 72 6d 69 6e 65 20 69 66 | 20 69 74 0d 2f 2f 20 69 |rmine if| it.// i|
|00002cf0| 73 20 6f 6e 65 20 6f 66 | 20 69 74 73 20 64 69 73 |s one of| its dis|
|00002d00| 70 6c 61 79 20 66 72 61 | 6d 65 73 2e 0d 0d 7d 0d |play fra|mes...}.|
|00002d10| 0d 0d 76 6f 69 64 20 48 | 65 6c 6c 6f 50 61 72 74 |..void H|elloPart|
|00002d20| 3a 3a 41 64 6a 75 73 74 | 4d 65 6e 75 73 28 58 4d |::Adjust|Menus(XM|
|00002d30| 50 46 72 61 6d 65 2a 20 | 66 72 61 6d 65 29 0d 7b |PFrame* |frame).{|
|00002d40| 0d 09 53 74 72 36 33 09 | 61 62 6f 75 74 54 65 78 |..Str63.|aboutTex|
|00002d50| 74 2c 20 73 68 6f 77 50 | 61 72 74 73 42 69 6e 2c |t, showP|artsBin,|
|00002d60| 20 68 69 64 65 50 61 72 | 74 73 42 69 6e 3b 0d 0d | hidePar|tsBin;..|
|00002d70| 09 57 65 42 65 48 65 72 | 65 28 22 48 65 6c 6c 6f |.WeBeHer|e("Hello|
|00002d80| 50 61 72 74 3a 3a 41 64 | 6a 75 73 74 4d 65 6e 75 |Part::Ad|justMenu|
|00002d90| 73 22 29 3b 0d 58 4d 50 | 55 6e 75 73 65 64 28 66 |s");.XMP|Unused(f|
|00002da0| 72 61 6d 65 29 3b 0d 09 | 66 4d 65 6e 75 42 61 72 |rame);..|fMenuBar|
|00002db0| 2d 3e 45 6e 61 62 6c 65 | 43 6f 6d 6d 61 6e 64 28 |->Enable|Command(|
|00002dc0| 6b 58 4d 50 43 6f 6d 6d | 61 6e 64 56 69 65 77 41 |kXMPComm|andViewA|
|00002dd0| 73 57 69 6e 2c 20 21 66 | 72 61 6d 65 2d 3e 49 73 |sWin, !f|rame->Is|
|00002de0| 52 6f 6f 74 28 29 29 3b | 0d 09 66 4d 65 6e 75 42 |Root());|..fMenuB|
|00002df0| 61 72 2d 3e 45 6e 61 62 | 6c 65 43 6f 6d 6d 61 6e |ar->Enab|leComman|
|00002e00| 64 28 6b 58 4d 50 43 6f | 6d 6d 61 6e 64 47 65 74 |d(kXMPCo|mmandGet|
|00002e10| 50 61 72 74 49 6e 66 6f | 2c 20 6b 58 4d 50 54 72 |PartInfo|, kXMPTr|
|00002e20| 75 65 29 3b 0d 09 66 4d | 65 6e 75 42 61 72 2d 3e |ue);..fM|enuBar->|
|00002e30| 45 6e 61 62 6c 65 43 6f | 6d 6d 61 6e 64 28 6b 58 |EnableCo|mmand(kX|
|00002e40| 4d 50 43 6f 6d 6d 61 6e | 64 53 68 6f 77 50 61 72 |MPComman|dShowPar|
|00002e50| 74 73 42 69 6e 2c 20 6b | 58 4d 50 54 72 75 65 29 |tsBin, k|XMPTrue)|
|00002e60| 3b 0d 0d 09 7b 0d 09 09 | 43 55 73 65 45 64 69 74 |;...{...|CUseEdit|
|00002e70| 6f 72 52 65 73 46 69 6c | 65 20 66 69 6c 3b 0d 09 |orResFil|e fil;..|
|00002e80| 09 47 65 74 49 6e 64 53 | 74 72 69 6e 67 28 61 62 |.GetIndS|tring(ab|
|00002e90| 6f 75 74 54 65 78 74 2c | 20 20 20 20 6b 43 6f 6e |outText,| kCon|
|00002ea0| 74 65 6e 74 53 74 72 69 | 6e 67 52 65 73 49 44 2c |tentStri|ngResID,|
|00002eb0| 20 6b 41 62 6f 75 74 54 | 65 78 74 49 44 29 3b 0d | kAboutT|extID);.|
|00002ec0| 09 09 47 65 74 49 6e 64 | 53 74 72 69 6e 67 28 73 |..GetInd|String(s|
|00002ed0| 68 6f 77 50 61 72 74 73 | 42 69 6e 2c 20 6b 43 6f |howParts|Bin, kCo|
|00002ee0| 6e 74 65 6e 74 53 74 72 | 69 6e 67 52 65 73 49 44 |ntentStr|ingResID|
|00002ef0| 2c 20 6b 53 68 6f 77 50 | 61 72 74 73 42 69 6e 49 |, kShowP|artsBinI|
|00002f00| 44 29 3b 0d 09 09 47 65 | 74 49 6e 64 53 74 72 69 |D);...Ge|tIndStri|
|00002f10| 6e 67 28 68 69 64 65 50 | 61 72 74 73 42 69 6e 2c |ng(hideP|artsBin,|
|00002f20| 20 6b 43 6f 6e 74 65 6e | 74 53 74 72 69 6e 67 52 | kConten|tStringR|
|00002f30| 65 73 49 44 2c 20 6b 48 | 69 64 65 50 61 72 74 73 |esID, kH|ideParts|
|00002f40| 42 69 6e 49 44 29 3b 0d | 09 7d 0d 09 0d 09 66 4d |BinID);.|.}....fM|
|00002f50| 65 6e 75 42 61 72 2d 3e | 53 65 74 49 74 65 6d 53 |enuBar->|SetItemS|
|00002f60| 74 72 69 6e 67 28 6b 58 | 4d 50 43 6f 6d 6d 61 6e |tring(kX|MPComman|
|00002f70| 64 41 62 6f 75 74 2c 20 | 61 62 6f 75 74 54 65 78 |dAbout, |aboutTex|
|00002f80| 74 29 3b 0d 0d 09 69 66 | 20 28 66 50 61 72 74 73 |t);...if| (fParts|
|00002f90| 42 69 6e 57 69 6e 29 0d | 09 7b 0d 09 09 58 4d 50 |BinWin).|.{...XMP|
|00002fa0| 57 69 6e 64 6f 77 2a 20 | 77 69 6e 64 6f 77 20 3d |Window* |window =|
|00002fb0| 20 66 53 65 73 73 69 6f | 6e 2d 3e 47 65 74 57 69 | fSessio|n->GetWi|
|00002fc0| 6e 64 6f 77 53 74 61 74 | 65 28 29 2d 3e 47 65 74 |ndowStat|e()->Get|
|00002fd0| 57 69 6e 64 6f 77 28 66 | 50 61 72 74 73 42 69 6e |Window(f|PartsBin|
|00002fe0| 57 69 6e 29 3b 0d 09 09 | 69 66 20 28 77 69 6e 64 |Win);...|if (wind|
|00002ff0| 6f 77 29 20 0d 09 09 09 | 66 50 61 72 74 73 42 69 |ow) ....|fPartsBi|
|00003000| 6e 4f 70 65 6e 20 3d 20 | 77 69 6e 64 6f 77 2d 3e |nOpen = |window->|
|00003010| 49 73 53 68 6f 77 6e 28 | 29 3b 0d 09 09 65 6c 73 |IsShown(|);...els|
|00003020| 65 0d 09 09 09 66 50 61 | 72 74 73 42 69 6e 4f 70 |e....fPa|rtsBinOp|
|00003030| 65 6e 20 3d 20 6b 58 4d | 50 46 61 6c 73 65 3b 0d |en = kXM|PFalse;.|
|00003040| 09 7d 0d 09 0d 09 69 66 | 20 28 66 50 61 72 74 73 |.}....if| (fParts|
|00003050| 42 69 6e 4f 70 65 6e 29 | 0d 09 09 66 4d 65 6e 75 |BinOpen)|...fMenu|
|00003060| 42 61 72 2d 3e 53 65 74 | 49 74 65 6d 53 74 72 69 |Bar->Set|ItemStri|
|00003070| 6e 67 28 6b 58 4d 50 43 | 6f 6d 6d 61 6e 64 53 68 |ng(kXMPC|ommandSh|
|00003080| 6f 77 50 61 72 74 73 42 | 69 6e 2c 20 68 69 64 65 |owPartsB|in, hide|
|00003090| 50 61 72 74 73 42 69 6e | 29 3b 0d 09 65 6c 73 65 |PartsBin|);..else|
|000030a0| 0d 09 09 66 4d 65 6e 75 | 42 61 72 2d 3e 53 65 74 |...fMenu|Bar->Set|
|000030b0| 49 74 65 6d 53 74 72 69 | 6e 67 28 6b 58 4d 50 43 |ItemStri|ng(kXMPC|
|000030c0| 6f 6d 6d 61 6e 64 53 68 | 6f 77 50 61 72 74 73 42 |ommandSh|owPartsB|
|000030d0| 69 6e 2c 20 73 68 6f 77 | 50 61 72 74 73 42 69 6e |in, show|PartsBin|
|000030e0| 29 3b 0d 7d 0d 0d 0d 0d | 2f 2f 2d 2d 2d 2d 2d 2d |);.}....|//------|
|000030f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 2f |--------|------./|
|00003130| 2f 20 48 65 6c 6c 6f 50 | 61 72 74 3a 3a 4d 79 48 |/ HelloP|art::MyH|
|00003140| 61 6e 64 6c 65 4d 65 6e | 75 45 76 65 6e 74 0d 2f |andleMen|uEvent./|
|00003150| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00003160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003190| 2d 2d 2d 2d 2d 0d 0d 58 | 4d 50 42 6f 6f 6c 65 61 |-----..X|MPBoolea|
|000031a0| 6e 20 48 65 6c 6c 6f 50 | 61 72 74 3a 3a 4d 79 48 |n HelloP|art::MyH|
|000031b0| 61 6e 64 6c 65 4d 65 6e | 75 45 76 65 6e 74 28 58 |andleMen|uEvent(X|
|000031c0| 4d 50 46 72 61 6d 65 2a | 20 66 72 61 6d 65 2c 0d |MPFrame*| frame,.|
|000031d0| 09 09 09 09 09 09 09 09 | 09 09 58 4d 50 45 76 65 |........|..XMPEve|
|000031e0| 6e 74 44 61 74 61 20 65 | 76 65 6e 74 29 0d 7b 0d |ntData e|vent).{.|
|000031f0| 09 57 65 42 65 48 65 72 | 65 28 22 48 65 6c 6c 6f |.WeBeHer|e("Hello|
|00003200| 50 61 72 74 3a 3a 4d 79 | 48 61 6e 64 6c 65 4d 65 |Part::My|HandleMe|
|00003210| 6e 75 45 76 65 6e 74 22 | 29 3b 0d 58 4d 50 55 6e |nuEvent"|);.XMPUn|
|00003220| 75 73 65 64 28 66 72 61 | 6d 65 29 3b 0d 09 6c 6f |used(fra|me);..lo|
|00003230| 6e 67 09 6d 65 6e 75 52 | 65 73 75 6c 74 20 3d 20 |ng.menuR|esult = |
|00003240| 65 76 65 6e 74 2d 3e 6d | 65 73 73 61 67 65 3b 0d |event->m|essage;.|
|00003250| 09 73 68 6f 72 74 09 6d | 65 6e 75 20 3d 20 48 69 |.short.m|enu = Hi|
|00003260| 57 6f 72 64 28 6d 65 6e | 75 52 65 73 75 6c 74 29 |Word(men|uResult)|
|00003270| 3b 0d 09 73 68 6f 72 74 | 09 69 74 65 6d 20 3d 20 |;..short|.item = |
|00003280| 4c 6f 57 6f 72 64 28 6d | 65 6e 75 52 65 73 75 6c |LoWord(m|enuResul|
|00003290| 74 29 3b 0d 0d 09 69 66 | 20 28 6d 65 6e 75 29 20 |t);...if| (menu) |
|000032a0| 7b 09 09 09 2f 2f 20 49 | 66 20 79 6f 75 72 20 63 |{...// I|f your c|
|000032b0| 75 73 74 6f 6d 20 6d 65 | 6e 75 28 73 29 2e 2e 2e |ustom me|nu(s)...|
|000032c0| 20 20 a5 a5 20 36 2f 32 | 33 2f 39 34 0d 0d 09 09 | .. 6/2|3/94....|
|000032d0| 73 77 69 74 63 68 28 20 | 66 4d 65 6e 75 42 61 72 |switch( |fMenuBar|
|000032e0| 2d 3e 47 65 74 43 6f 6d | 6d 61 6e 64 28 6d 65 6e |->GetCom|mand(men|
|000032f0| 75 2c 20 69 74 65 6d 29 | 20 29 20 7b 0d 0d 09 09 |u, item)| ) {....|
|00003300| 09 63 61 73 65 20 6b 58 | 4d 50 43 6f 6d 6d 61 6e |.case kX|MPComman|
|00003310| 64 41 62 6f 75 74 3a 0d | 09 09 09 7b 0d 09 09 09 |dAbout:.|...{....|
|00003320| 09 43 55 73 65 45 64 69 | 74 6f 72 52 65 73 46 69 |.CUseEdi|torResFi|
|00003330| 6c 65 20 66 69 6c 3b 0d | 09 09 0d 09 09 09 09 69 |le fil;.|.......i|
|00003340| 66 20 28 66 53 65 73 73 | 69 6f 6e 2d 3e 47 65 74 |f (fSess|ion->Get|
|00003350| 41 72 62 69 74 72 61 74 | 6f 72 28 29 2d 3e 52 65 |Arbitrat|or()->Re|
|00003360| 71 75 65 73 74 46 6f 63 | 75 73 28 66 4d 6f 64 61 |questFoc|us(fModa|
|00003370| 6c 46 6f 63 75 73 2c 66 | 72 61 6d 65 29 29 0d 09 |lFocus,f|rame))..|
|00003380| 09 09 09 7b 0d 09 09 09 | 09 09 53 65 74 43 75 72 |...{....|..SetCur|
|00003390| 73 6f 72 28 26 58 4d 50 | 41 53 4c 4d 51 44 47 6c |sor(&XMP|ASLMQDGl|
|000033a0| 6f 62 61 6c 73 2e 61 72 | 72 6f 77 29 3b 0d 09 09 |obals.ar|row);...|
|000033b0| 09 09 09 67 53 65 73 73 | 69 6f 6e 20 3d 20 66 53 |...gSess|ion = fS|
|000033c0| 65 73 73 69 6f 6e 3b 09 | 09 2f 2f 20 44 69 61 6c |ession;.|.// Dial|
|000033d0| 6f 67 46 69 6c 74 65 72 | 20 75 73 65 73 20 74 68 |ogFilter| uses th|
|000033e0| 69 73 21 0d 09 09 09 09 | 09 4d 6f 64 61 6c 46 69 |is!.....|.ModalFi|
|000033f0| 6c 74 65 72 55 50 50 20 | 6d 6f 64 61 6c 46 69 6c |lterUPP |modalFil|
|00003400| 74 65 72 20 3d 20 4e 65 | 77 4d 6f 64 61 6c 46 69 |ter = Ne|wModalFi|
|00003410| 6c 74 65 72 50 72 6f 63 | 28 4d 79 44 69 61 6c 6f |lterProc|(MyDialo|
|00003420| 67 46 69 6c 74 65 72 29 | 3b 0d 09 09 09 09 09 41 |gFilter)|;......A|
|00003430| 6c 65 72 74 28 6b 48 65 | 6c 6c 6f 50 61 72 74 41 |lert(kHe|lloPartA|
|00003440| 62 6f 75 74 42 6f 78 49 | 44 2c 20 6d 6f 64 61 6c |boutBoxI|D, modal|
|00003450| 46 69 6c 74 65 72 29 3b | 0d 09 09 09 09 09 44 69 |Filter);|......Di|
|00003460| 73 70 6f 73 65 52 6f 75 | 74 69 6e 65 44 65 73 63 |sposeRou|tineDesc|
|00003470| 72 69 70 74 6f 72 28 6d | 6f 64 61 6c 46 69 6c 74 |riptor(m|odalFilt|
|00003480| 65 72 29 3b 0d 09 09 09 | 09 09 66 53 65 73 73 69 |er);....|..fSessi|
|00003490| 6f 6e 2d 3e 47 65 74 41 | 72 62 69 74 72 61 74 6f |on->GetA|rbitrato|
|000034a0| 72 28 29 2d 3e 52 65 6c | 69 6e 71 75 69 73 68 46 |r()->Rel|inquishF|
|000034b0| 6f 63 75 73 28 66 4d 6f | 64 61 6c 46 6f 63 75 73 |ocus(fMo|dalFocus|
|000034c0| 2c 66 72 61 6d 65 29 3b | 0d 09 09 09 09 7d 0d 09 |,frame);|.....}..|
|000034d0| 09 09 09 65 6c 73 65 0d | 09 09 09 09 09 53 79 73 |...else.|.....Sys|
|000034e0| 42 65 65 70 28 31 29 3b | 0d 09 09 09 09 62 72 65 |Beep(1);|.....bre|
|000034f0| 61 6b 3b 0d 09 09 09 7d | 0d 0d 09 09 09 63 61 73 |ak;....}|.....cas|
|00003500| 65 20 6b 58 4d 50 43 6f | 6d 6d 61 6e 64 43 6c 65 |e kXMPCo|mmandCle|
|00003510| 61 72 3a 0d 09 09 09 09 | 62 72 65 61 6b 3b 0d 0d |ar:.....|break;..|
|00003520| 09 09 09 63 61 73 65 20 | 6b 58 4d 50 43 6f 6d 6d |...case |kXMPComm|
|00003530| 61 6e 64 53 68 6f 77 50 | 61 72 74 73 42 69 6e 3a |andShowP|artsBin:|
|00003540| 0d 09 09 09 09 69 66 20 | 28 66 50 61 72 74 73 42 |.....if |(fPartsB|
|00003550| 69 6e 4f 70 65 6e 29 0d | 09 09 09 09 09 74 68 69 |inOpen).|.....thi|
|00003560| 73 2d 3e 4d 79 48 69 64 | 65 50 61 72 74 73 42 69 |s->MyHid|ePartsBi|
|00003570| 6e 28 29 3b 0d 09 09 09 | 09 65 6c 73 65 0d 09 09 |n();....|.else...|
|00003580| 09 09 09 74 68 69 73 2d | 3e 4d 79 53 68 6f 77 50 |...this-|>MyShowP|
|00003590| 61 72 74 73 42 69 6e 28 | 66 72 61 6d 65 29 3b 0d |artsBin(|frame);.|
|000035a0| 09 09 09 09 62 72 65 61 | 6b 3b 0d 0d 09 09 09 63 |....brea|k;.....c|
|000035b0| 61 73 65 20 6b 58 4d 50 | 43 6f 6d 6d 61 6e 64 56 |ase kXMP|CommandV|
|000035c0| 69 65 77 41 73 57 69 6e | 3a 0d 09 09 09 09 74 68 |iewAsWin|:.....th|
|000035d0| 69 73 2d 3e 4f 70 65 6e | 28 66 72 61 6d 65 29 3b |is->Open|(frame);|
|000035e0| 0d 09 09 09 09 62 72 65 | 61 6b 3b 0d 0d 09 09 09 |.....bre|ak;.....|
|000035f0| 63 61 73 65 20 6b 58 4d | 50 43 6f 6d 6d 61 6e 64 |case kXM|PCommand|
|00003600| 47 65 74 50 61 72 74 49 | 6e 66 6f 3a 0d 09 09 09 |GetPartI|nfo:....|
|00003610| 09 53 68 6f 77 50 61 72 | 74 46 72 61 6d 65 49 6e |.ShowPar|tFrameIn|
|00003620| 66 6f 28 66 72 61 6d 65 | 29 3b 0d 09 09 09 09 62 |fo(frame|);.....b|
|00003630| 72 65 61 6b 3b 0d 0d 09 | 09 09 64 65 66 61 75 6c |reak;...|..defaul|
|00003640| 74 3a 0d 09 09 09 09 72 | 65 74 75 72 6e 20 6b 58 |t:.....r|eturn kX|
|00003650| 4d 50 46 61 6c 73 65 3b | 0d 09 09 7d 0d 09 7d 0d |MPFalse;|...}..}.|
|00003660| 09 09 0d 09 72 65 74 75 | 72 6e 20 6b 58 4d 50 54 |....retu|rn kXMPT|
|00003670| 72 75 65 3b 0d 7d 0d 0d | 0d 0d 2f 2f 2d 2d 2d 2d |rue;.}..|..//----|
|00003680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000036c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 2f 2f 20 48 65 |--------|--.// He|
|000036d0| 6c 6c 6f 50 61 72 74 3a | 3a 4d 79 48 61 6e 64 6c |lloPart:|:MyHandl|
|000036e0| 65 4d 6f 75 73 65 44 6f | 77 6e 0d 2f 2f 2d 2d 2d |eMouseDo|wn.//---|
|000036f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 0d 58 4d 50 |--------|---..XMP|
|00003740| 42 6f 6f 6c 65 61 6e 20 | 48 65 6c 6c 6f 50 61 72 |Boolean |HelloPar|
|00003750| 74 3a 3a 4d 79 48 61 6e | 64 6c 65 4d 6f 75 73 65 |t::MyHan|dleMouse|
|00003760| 44 6f 77 6e 28 58 4d 50 | 45 76 65 6e 74 44 61 74 |Down(XMP|EventDat|
|00003770| 61 20 65 76 65 6e 74 2c | 20 58 4d 50 46 72 61 6d |a event,| XMPFram|
|00003780| 65 2a 20 66 72 61 6d 65 | 2c 20 58 4d 50 46 61 63 |e* frame|, XMPFac|
|00003790| 65 74 2a 20 66 61 63 65 | 74 29 0d 7b 0d 09 57 65 |et* face|t).{..We|
|000037a0| 42 65 48 65 72 65 28 22 | 48 65 6c 6c 6f 50 61 72 |BeHere("|HelloPar|
|000037b0| 74 3a 3a 4d 79 48 61 6e | 64 6c 65 4d 6f 75 73 65 |t::MyHan|dleMouse|
|000037c0| 44 6f 77 6e 22 29 3b 0d | 58 4d 50 55 6e 75 73 65 |Down");.|XMPUnuse|
|000037d0| 64 28 66 72 61 6d 65 29 | 3b 0d 09 58 4d 50 42 6f |d(frame)|;..XMPBo|
|000037e0| 6f 6c 65 61 6e 20 74 57 | 61 73 48 61 6e 64 6c 65 |olean tW|asHandle|
|000037f0| 64 20 3d 20 6b 58 4d 50 | 46 61 6c 73 65 3b 0d 0d |d = kXMP|False;..|
|00003800| 09 2f 2f 20 a5 a5 20 47 | 6f 74 20 72 69 64 20 6f |.// .. G|ot rid o|
|00003810| 66 20 65 6c 73 65 20 69 | 66 20 68 61 6e 64 6c 69 |f else i|f handli|
|00003820| 6e 67 20 6f 66 20 63 61 | 73 65 73 2e 0d 09 2f 2f |ng of ca|ses...//|
|00003830| 20 20 20 20 41 6c 73 6f | 20 67 6f 74 20 72 69 64 | Also| got rid|
|00003840| 20 6f 66 20 61 20 58 4d | 50 42 6f 6f 6c 65 61 6e | of a XM|PBoolean|
|00003850| 20 69 6e 20 66 72 6f 6e | 74 20 6f 66 20 61 20 74 | in fron|t of a t|
|00003860| 57 61 73 48 61 6e 64 6c | 65 64 20 3d 20 6b 58 4d |WasHandl|ed = kXM|
|00003870| 50 54 72 75 65 2e 0d 09 | 2f 2f 20 20 20 20 54 68 |PTrue...|// Th|
|00003880| 69 73 20 63 61 75 73 65 | 64 20 70 72 69 76 61 74 |is cause|d privat|
|00003890| 65 20 73 63 6f 70 65 2c | 20 61 6e 64 20 74 68 65 |e scope,| and the|
|000038a0| 72 65 66 6f 72 65 20 74 | 57 61 73 48 61 6e 64 6c |refore t|WasHandl|
|000038b0| 65 64 20 77 61 73 20 6e | 6f 74 0d 09 2f 2f 20 20 |ed was n|ot..// |
|000038c0| 20 20 70 61 73 73 65 64 | 20 62 61 63 6b 20 61 73 | passed| back as|
|000038d0| 20 65 78 70 65 63 74 65 | 64 2e 0d 0d 09 69 66 20 | expecte|d....if |
|000038e0| 28 66 61 63 65 74 20 3d | 3d 20 6b 58 4d 50 4e 55 |(facet =|= kXMPNU|
|000038f0| 4c 4c 29 09 09 2f 2f 20 | 4f 75 74 73 69 64 65 20 |LL)..// |Outside |
|00003900| 6d 6f 64 61 6c 20 66 6f | 63 75 73 0d 09 7b 0d 09 |modal fo|cus..{..|
|00003910| 09 53 79 73 42 65 65 70 | 28 31 29 3b 0d 09 09 72 |.SysBeep|(1);...r|
|00003920| 65 74 75 72 6e 20 6b 58 | 4d 50 54 72 75 65 3b 09 |eturn kX|MPTrue;.|
|00003930| 09 2f 2f 20 52 65 74 75 | 72 6e 20 74 68 61 74 20 |.// Retu|rn that |
|00003940| 63 6c 69 63 6b 20 77 61 | 73 20 68 61 6e 64 6c 65 |click wa|s handle|
|00003950| 64 2e 0d 09 7d 0d 0d 09 | 69 66 20 28 49 73 44 69 |d...}...|if (IsDi|
|00003960| 61 6c 6f 67 45 76 65 6e | 74 28 65 76 65 6e 74 29 |alogEven|t(event)|
|00003970| 29 0d 09 7b 0d 09 09 73 | 68 6f 72 74 20 69 74 65 |)..{...s|hort ite|
|00003980| 6d 48 69 74 3b 0d 09 09 | 44 69 61 6c 6f 67 50 74 |mHit;...|DialogPt|
|00003990| 72 20 64 69 61 6c 6f 67 | 3b 0d 09 09 74 57 61 73 |r dialog|;...tWas|
|000039a0| 48 61 6e 64 6c 65 64 20 | 3d 20 44 69 61 6c 6f 67 |Handled |= Dialog|
|000039b0| 53 65 6c 65 63 74 28 65 | 76 65 6e 74 2c 20 26 64 |Select(e|vent, &d|
|000039c0| 69 61 6c 6f 67 2c 20 26 | 69 74 65 6d 48 69 74 29 |ialog, &|itemHit)|
|000039d0| 3b 0d 09 09 58 4d 50 57 | 69 6e 64 6f 77 2a 20 77 |;...XMPW|indow* w|
|000039e0| 69 6e 64 6f 77 20 3d 20 | 66 53 65 73 73 69 6f 6e |indow = |fSession|
|000039f0| 2d 3e 47 65 74 57 69 6e | 64 6f 77 53 74 61 74 65 |->GetWin|dowState|
|00003a00| 28 29 2d 3e 47 65 74 58 | 4d 50 57 69 6e 64 6f 77 |()->GetX|MPWindow|
|00003a10| 28 64 69 61 6c 6f 67 29 | 3b 0d 09 09 72 65 74 75 |(dialog)|;...retu|
|00003a20| 72 6e 20 74 57 61 73 48 | 61 6e 64 6c 65 64 3b 0d |rn tWasH|andled;.|
|00003a30| 09 7d 0d 0d 09 69 66 20 | 28 21 66 61 63 65 74 2d |.}...if |(!facet-|
|00003a40| 3e 47 65 74 57 69 6e 64 | 6f 77 28 29 2d 3e 49 73 |>GetWind|ow()->Is|
|00003a50| 41 63 74 69 76 65 28 29 | 29 0d 09 09 66 61 63 65 |Active()|)...face|
|00003a60| 74 2d 3e 47 65 74 57 69 | 6e 64 6f 77 28 29 2d 3e |t->GetWi|ndow()->|
|00003a70| 53 65 6c 65 63 74 28 29 | 3b 0d 09 65 6c 73 65 0d |Select()|;..else.|
|00003a80| 09 7b 0d 09 09 2f 2f 24 | 24 24 24 24 20 49 73 20 |.{...//$|$$$$ Is |
|00003a90| 74 68 65 20 66 6f 63 75 | 73 20 73 74 75 66 66 20 |the focu|s stuff |
|00003aa0| 6e 65 63 65 73 73 61 72 | 79 3f 20 49 74 20 66 6c |necessar|y? It fl|
|00003ab0| 69 63 6b 65 72 73 20 74 | 68 65 20 66 72 61 6d 65 |ickers t|he frame|
|00003ac0| 20 62 6f 72 64 65 72 0d | 09 09 58 4d 50 46 72 61 | border.|..XMPFra|
|00003ad0| 6d 65 2a 20 66 72 61 6d | 65 20 3d 20 66 61 63 65 |me* fram|e = face|
|00003ae0| 74 2d 3e 47 65 74 46 72 | 61 6d 65 28 29 3b 0d 09 |t->GetFr|ame();..|
|00003af0| 09 69 66 20 28 20 66 53 | 65 73 73 69 6f 6e 2d 3e |.if ( fS|ession->|
|00003b00| 47 65 74 41 72 62 69 74 | 72 61 74 6f 72 28 29 2d |GetArbit|rator()-|
|00003b10| 3e 52 65 71 75 65 73 74 | 46 6f 63 75 73 53 65 74 |>Request|FocusSet|
|00003b20| 28 66 46 6f 63 75 73 53 | 65 74 2c 66 72 61 6d 65 |(fFocusS|et,frame|
|00003b30| 29 20 29 0d 09 09 7b 0d | 09 09 09 74 68 69 73 2d |) )...{.|...this-|
|00003b40| 3e 46 6f 63 75 73 41 63 | 71 75 69 72 65 64 28 66 |>FocusAc|quired(f|
|00003b50| 53 65 6c 65 63 74 69 6f | 6e 46 6f 63 75 73 2c 20 |Selectio|nFocus, |
|00003b60| 66 72 61 6d 65 29 3b 0d | 09 09 09 74 68 69 73 2d |frame);.|...this-|
|00003b70| 3e 46 6f 63 75 73 41 63 | 71 75 69 72 65 64 28 66 |>FocusAc|quired(f|
|00003b80| 4d 65 6e 75 46 6f 63 75 | 73 2c 20 66 72 61 6d 65 |MenuFocu|s, frame|
|00003b90| 29 3b 0d 09 09 09 74 68 | 69 73 2d 3e 46 6f 63 75 |);....th|is->Focu|
|00003ba0| 73 41 63 71 75 69 72 65 | 64 28 66 4b 65 79 46 6f |sAcquire|d(fKeyFo|
|00003bb0| 63 75 73 2c 20 66 72 61 | 6d 65 29 3b 0d 09 09 09 |cus, fra|me);....|
|00003bc0| 0d 09 09 09 2f 2f 20 48 | 65 6c 6c 6f 50 61 72 74 |....// H|elloPart|
|00003bd0| 20 2d 20 4e 6f 77 20 74 | 68 61 74 20 49 27 76 65 | - Now t|hat I've|
|00003be0| 20 61 71 75 69 72 65 64 | 20 74 68 6f 73 65 20 66 | aquired| those f|
|00003bf0| 6f 63 69 2c 20 49 20 63 | 61 6e 20 68 61 6e 64 6c |oci, I c|an handl|
|00003c00| 65 20 74 68 65 20 63 6c | 69 63 6b 2e 0d 09 09 09 |e the cl|ick.....|
|00003c10| 2f 2f 0d 09 09 09 2f 2f | 20 54 68 65 20 65 61 73 |//....//| The eas|
|00003c20| 69 65 73 74 20 77 61 79 | 20 74 6f 20 63 6f 6e 76 |iest way| to conv|
|00003c30| 65 72 74 20 74 68 65 20 | 6c 6f 63 61 74 69 6f 6e |ert the |location|
|00003c40| 20 69 6e 74 6f 20 66 61 | 63 65 74 20 63 6f 6f 72 | into fa|cet coor|
|00003c50| 64 73 0d 09 09 09 2f 2f | 20 69 73 20 74 6f 20 66 |ds....//| is to f|
|00003c60| 6f 63 75 73 20 66 69 72 | 73 74 2c 20 74 68 65 6e |ocus fir|st, then|
|00003c70| 20 6c 65 74 20 47 6c 6f | 62 61 6c 54 6f 4c 6f 63 | let Glo|balToLoc|
|00003c80| 61 6c 20 64 6f 20 74 68 | 65 20 6d 61 70 70 69 6e |al do th|e mappin|
|00003c90| 67 3a 0d 0d 09 09 09 43 | 46 6f 63 75 73 20 66 6f |g:.....C|Focus fo|
|00003ca0| 63 28 66 61 63 65 74 29 | 3b 0d 09 09 09 50 6f 69 |c(facet)|;....Poi|
|00003cb0| 6e 74 20 77 68 65 72 65 | 20 3d 20 65 76 65 6e 74 |nt where| = event|
|00003cc0| 2d 3e 77 68 65 72 65 3b | 0d 09 09 09 47 6c 6f 62 |->where;|....Glob|
|00003cd0| 61 6c 54 6f 4c 6f 63 61 | 6c 28 26 77 68 65 72 65 |alToLoca|l(&where|
|00003ce0| 29 3b 0d 09 09 09 09 2f | 2f 20 44 6f 20 61 20 63 |);...../|/ Do a c|
|00003cf0| 6c 69 63 6b 69 65 20 74 | 68 69 6e 67 69 65 20 68 |lickie t|hingie h|
|00003d00| 65 72 65 2e 0d 09 09 7d | 0d 09 7d 0d 0d 09 72 65 |ere....}|..}...re|
|00003d10| 74 75 72 6e 20 74 57 61 | 73 48 61 6e 64 6c 65 64 |turn tWa|sHandled|
|00003d20| 3b 0d 7d 0d 0d 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |;.}..../|/-------|
|00003d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d70| 2d 2d 0d 2f 2f 20 46 61 | 63 65 74 20 70 72 6f 74 |--.// Fa|cet prot|
|00003d80| 6f 63 6f 6c 0d 2f 2f 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ocol.//-|--------|
|00003d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003dd0| 0d 0d 76 6f 69 64 20 48 | 65 6c 6c 6f 50 61 72 74 |..void H|elloPart|
|00003de0| 3a 3a 46 61 63 65 74 41 | 64 64 65 64 28 58 4d 50 |::FacetA|dded(XMP|
|00003df0| 46 61 63 65 74 2a 20 66 | 61 63 65 74 29 0d 7b 0d |Facet* f|acet).{.|
|00003e00| 09 57 65 42 65 48 65 72 | 65 28 22 48 65 6c 6c 6f |.WeBeHer|e("Hello|
|00003e10| 50 61 72 74 3a 3a 46 61 | 63 65 74 41 64 64 65 64 |Part::Fa|cetAdded|
|00003e20| 22 29 3b 0d 09 0d 09 2f | 2f 20 48 65 6c 6c 6f 50 |");..../|/ HelloP|
|00003e30| 61 72 74 20 2d 20 41 64 | 64 20 6e 65 77 20 66 61 |art - Ad|d new fa|
|00003e40| 63 65 74 20 74 6f 20 6c | 69 73 74 20 6f 66 20 63 |cet to l|ist of c|
|00003e50| 75 72 72 65 6e 74 20 66 | 61 63 65 74 73 0d 0d 09 |urrent f|acets...|
|00003e60| 66 46 61 63 65 74 73 2e | 41 64 64 28 66 61 63 65 |fFacets.|Add(face|
|00003e70| 74 29 3b 0d 0d 09 58 4d | 50 46 72 61 6d 65 2a 20 |t);...XM|PFrame* |
|00003e80| 66 72 61 6d 65 20 3d 20 | 66 61 63 65 74 2d 3e 47 |frame = |facet->G|
|00003e90| 65 74 46 72 61 6d 65 28 | 29 3b 0d 09 66 72 61 6d |etFrame(|);..fram|
|00003ea0| 65 2d 3e 52 65 71 75 65 | 73 74 46 72 61 6d 65 53 |e->Reque|stFrameS|
|00003eb0| 68 61 70 65 28 74 68 69 | 73 2d 3e 4d 79 47 65 74 |hape(thi|s->MyGet|
|00003ec0| 46 72 61 6d 65 53 68 61 | 70 65 28 66 72 61 6d 65 |FrameSha|pe(frame|
|00003ed0| 29 29 3b 0d 09 09 2f 2f | 20 a5 a5 20 46 69 72 73 |));...//| .. Firs|
|00003ee0| 74 2c 20 4d 79 47 65 74 | 46 72 61 6d 65 53 68 61 |t, MyGet|FrameSha|
|00003ef0| 70 65 20 69 73 20 63 61 | 6c 6c 65 64 20 74 6f 20 |pe is ca|lled to |
|00003f00| 63 61 6c 63 75 6c 61 74 | 65 20 74 68 65 20 66 72 |calculat|e the fr|
|00003f10| 61 6d 65 0d 09 09 2f 2f | 20 73 68 61 70 65 20 77 |ame...//| shape w|
|00003f20| 65 20 77 61 6e 74 2e 20 | 20 48 6f 77 65 76 65 72 |e want. | However|
|00003f30| 2c 20 77 65 20 6d 69 67 | 68 74 20 6e 6f 74 20 67 |, we mig|ht not g|
|00003f40| 65 74 20 69 74 2c 20 64 | 75 65 20 74 6f 20 74 68 |et it, d|ue to th|
|00003f50| 65 0d 09 09 2f 2f 20 6e | 65 65 64 73 2f 63 6f 6e |e...// n|eeds/con|
|00003f60| 73 74 72 61 69 6e 74 73 | 20 6f 66 20 74 68 65 20 |straints| of the |
|00003f70| 63 6f 6e 74 61 69 6e 69 | 6e 67 20 70 61 72 74 2e |containi|ng part.|
|00003f80| 20 20 54 68 65 72 65 66 | 6f 72 65 2c 20 61 66 74 | Theref|ore, aft|
|00003f90| 65 72 0d 09 09 2f 2f 20 | 63 61 6c 63 75 6c 61 74 |er...// |calculat|
|00003fa0| 69 6e 67 20 77 68 61 74 | 20 77 65 20 77 61 6e 74 |ing what| we want|
|00003fb0| 2c 20 77 65 20 73 65 65 | 20 69 66 20 77 65 20 63 |, we see| if we c|
|00003fc0| 61 6e 20 67 65 74 20 69 | 74 20 62 79 20 63 61 6c |an get i|t by cal|
|00003fd0| 6c 69 6e 67 0d 09 09 2f | 2f 20 52 65 71 75 65 73 |ling.../|/ Reques|
|00003fe0| 74 46 72 61 6d 65 53 68 | 61 70 65 2e 0d 09 09 2f |tFrameSh|ape..../|
|00003ff0| 2f 20 52 65 71 75 65 73 | 74 46 72 61 6d 65 53 68 |/ Reques|tFrameSh|
|00004000| 61 70 65 20 65 69 74 68 | 65 72 20 72 65 74 75 72 |ape eith|er retur|
|00004010| 6e 73 20 75 73 20 77 68 | 61 74 20 77 65 20 70 61 |ns us wh|at we pa|
|00004020| 73 73 65 64 20 69 74 2c | 20 6f 72 0d 09 09 2f 2f |ssed it,| or...//|
|00004030| 20 72 65 74 75 72 6e 73 | 20 73 6f 6d 65 74 68 69 | returns| somethi|
|00004040| 6e 67 20 65 6c 73 65 20 | 62 65 63 61 75 73 65 20 |ng else |because |
|00004050| 69 74 20 74 68 69 6e 6b | 73 20 69 74 20 6b 6e 6f |it think|s it kno|
|00004060| 77 73 20 62 65 73 74 2e | 0d 09 09 2f 2f 20 45 69 |ws best.|...// Ei|
|00004070| 74 68 65 72 20 77 61 79 | 2c 20 77 65 20 74 68 65 |ther way|, we the|
|00004080| 6e 20 70 72 6f 63 65 65 | 64 20 77 69 74 68 20 74 |n procee|d with t|
|00004090| 68 65 20 72 65 74 75 72 | 6e 65 64 20 72 65 73 75 |he retur|ned resu|
|000040a0| 6c 74 2e 0d 09 09 2f 2f | 20 4e 6f 74 65 20 74 68 |lt....//| Note th|
|000040b0| 61 74 20 74 68 69 73 20 | 6d 65 61 6e 73 20 74 68 |at this |means th|
|000040c0| 61 74 20 77 65 20 68 61 | 76 65 20 74 6f 20 62 65 |at we ha|ve to be|
|000040d0| 20 70 72 65 70 61 72 65 | 64 20 74 6f 20 64 65 61 | prepare|d to dea|
|000040e0| 6c 0d 09 09 2f 2f 20 77 | 69 74 68 20 61 20 66 72 |l...// w|ith a fr|
|000040f0| 61 6d 65 20 73 68 61 70 | 65 20 6f 74 68 65 72 20 |ame shap|e other |
|00004100| 74 68 61 6e 20 77 65 20 | 64 65 73 69 72 65 2e 0d |than we |desire..|
|00004110| 0d 09 74 68 69 73 2d 3e | 4d 79 41 64 6a 75 73 74 |..this->|MyAdjust|
|00004120| 46 61 63 65 74 73 28 66 | 72 61 6d 65 29 3b 0d 09 |Facets(f|rame);..|
|00004130| 09 2f 2f 20 47 69 76 65 | 6e 20 61 20 6e 65 77 20 |.// Give|n a new |
|00004140| 6e 65 67 6f 74 69 61 74 | 65 64 20 66 72 61 6d 65 |negotiat|ed frame|
|00004150| 20 73 68 61 70 65 2c 20 | 61 64 6a 75 73 74 20 6f | shape, |adjust o|
|00004160| 75 72 20 66 61 63 65 74 | 73 20 62 61 73 65 64 0d |ur facet|s based.|
|00004170| 09 09 2f 2f 20 6f 6e 20 | 69 74 2e 20 20 54 68 61 |..// on |it. Tha|
|00004180| 74 27 73 20 61 6c 6c 20 | 74 68 65 72 65 20 69 73 |t's all |there is|
|00004190| 20 74 6f 20 69 74 2e 0d | 0d 09 69 66 20 28 66 72 | to it..|..if (fr|
|000041a0| 61 6d 65 2d 3e 49 73 52 | 6f 6f 74 28 29 29 20 0d |ame->IsR|oot()) .|
|000041b0| 09 7b 0d 09 09 58 4d 50 | 42 6f 6f 6c 65 61 6e 20 |.{...XMP|Boolean |
|000041c0| 73 75 63 63 65 65 64 65 | 64 20 3d 20 6b 58 4d 50 |succeede|d = kXMP|
|000041d0| 46 61 6c 73 65 3b 0d 09 | 09 73 75 63 63 65 65 64 |False;..|.succeed|
|000041e0| 65 64 20 3d 20 66 53 65 | 73 73 69 6f 6e 2d 3e 47 |ed = fSe|ssion->G|
|000041f0| 65 74 41 72 62 69 74 72 | 61 74 6f 72 28 29 2d 3e |etArbitr|ator()->|
|00004200| 52 65 71 75 65 73 74 46 | 6f 63 75 73 53 65 74 28 |RequestF|ocusSet(|
|00004210| 66 46 6f 63 75 73 53 65 | 74 2c 66 72 61 6d 65 29 |fFocusSe|t,frame)|
|00004220| 3b 0d 09 09 69 66 20 28 | 73 75 63 63 65 65 64 65 |;...if (|succeede|
|00004230| 64 29 0d 09 09 7b 0d 09 | 09 09 74 68 69 73 2d 3e |d)...{..|..this->|
|00004240| 46 6f 63 75 73 41 63 71 | 75 69 72 65 64 28 66 53 |FocusAcq|uired(fS|
|00004250| 65 6c 65 63 74 69 6f 6e | 46 6f 63 75 73 2c 20 66 |election|Focus, f|
|00004260| 72 61 6d 65 29 3b 0d 09 | 09 09 74 68 69 73 2d 3e |rame);..|..this->|
|00004270| 46 6f 63 75 73 41 63 71 | 75 69 72 65 64 28 66 4d |FocusAcq|uired(fM|
|00004280| 65 6e 75 46 6f 63 75 73 | 2c 20 66 72 61 6d 65 29 |enuFocus|, frame)|
|00004290| 3b 0d 09 09 09 74 68 69 | 73 2d 3e 46 6f 63 75 73 |;....thi|s->Focus|
|000042a0| 41 63 71 75 69 72 65 64 | 28 66 4b 65 79 46 6f 63 |Acquired|(fKeyFoc|
|000042b0| 75 73 2c 20 66 72 61 6d | 65 29 3b 0d 09 09 7d 0d |us, fram|e);...}.|
|000042c0| 09 7d 0d 7d 0d 0d 76 6f | 69 64 20 48 65 6c 6c 6f |.}.}..vo|id Hello|
|000042d0| 50 61 72 74 3a 3a 46 61 | 63 65 74 52 65 6d 6f 76 |Part::Fa|cetRemov|
|000042e0| 65 64 28 58 4d 50 46 61 | 63 65 74 2a 20 66 61 63 |ed(XMPFa|cet* fac|
|000042f0| 65 74 29 0d 7b 0d 09 57 | 65 42 65 48 65 72 65 28 |et).{..W|eBeHere(|
|00004300| 22 48 65 6c 6c 6f 50 61 | 72 74 3a 3a 46 61 63 65 |"HelloPa|rt::Face|
|00004310| 74 52 65 6d 6f 76 65 64 | 22 29 3b 0d 0d 09 66 46 |tRemoved|");...fF|
|00004320| 61 63 65 74 73 2e 52 65 | 6d 6f 76 65 28 66 61 63 |acets.Re|move(fac|
|00004330| 65 74 29 3b 0d 09 09 2f | 2f 20 54 68 69 73 20 6a |et);.../|/ This j|
|00004340| 75 73 74 20 72 65 6d 6f | 76 65 73 20 74 68 65 20 |ust remo|ves the |
|00004350| 72 65 66 65 72 65 6e 63 | 65 20 66 72 6f 6d 20 6f |referenc|e from o|
|00004360| 75 72 20 66 61 63 65 74 | 20 6c 69 73 74 2e 0d 0d |ur facet| list...|
|00004370| 09 58 4d 50 46 72 61 6d | 65 2a 20 66 72 61 6d 65 |.XMPFram|e* frame|
|00004380| 20 3d 20 66 61 63 65 74 | 2d 3e 47 65 74 46 72 61 | = facet|->GetFra|
|00004390| 6d 65 28 29 3b 0d 09 66 | 72 61 6d 65 2d 3e 52 65 |me();..f|rame->Re|
|000043a0| 71 75 65 73 74 46 72 61 | 6d 65 53 68 61 70 65 28 |questFra|meShape(|
|000043b0| 74 68 69 73 2d 3e 4d 79 | 47 65 74 46 72 61 6d 65 |this->My|GetFrame|
|000043c0| 53 68 61 70 65 28 66 72 | 61 6d 65 29 29 3b 0d 09 |Shape(fr|ame));..|
|000043d0| 74 68 69 73 2d 3e 4d 79 | 41 64 6a 75 73 74 46 61 |this->My|AdjustFa|
|000043e0| 63 65 74 73 28 66 72 61 | 6d 65 29 3b 0d 09 09 2f |cets(fra|me);.../|
|000043f0| 2f 20 a5 a5 ca 54 68 69 | 73 20 69 73 20 68 65 72 |/ ...Thi|s is her|
|00004400| 65 20 69 6e 20 63 61 73 | 65 20 6c 6f 73 69 6e 67 |e in cas|e losing|
|00004410| 20 61 20 66 61 63 65 74 | 20 6d 65 61 6e 73 20 74 | a facet| means t|
|00004420| 68 61 74 20 77 65 20 6e | 65 65 64 20 72 65 63 61 |hat we n|eed reca|
|00004430| 6c 63 75 6c 61 74 65 0d | 09 09 2f 2f 20 74 68 65 |lculate.|..// the|
|00004440| 20 66 72 61 6d 65 2e 20 | 20 54 68 69 73 20 77 6f | frame. | This wo|
|00004450| 75 6c 64 20 6f 63 63 75 | 72 20 69 66 20 74 68 65 |uld occu|r if the|
|00004460| 20 70 61 72 74 20 61 64 | 64 65 64 20 73 6f 6d 65 | part ad|ded some|
|00004470| 20 6f 66 20 69 74 73 20 | 6f 77 6e 20 66 61 63 65 | of its |own face|
|00004480| 74 73 2c 0d 09 09 2f 2f | 20 62 65 79 6f 6e 64 20 |ts,...//| beyond |
|00004490| 74 68 65 20 73 69 6e 67 | 6c 65 20 66 61 63 65 74 |the sing|le facet|
|000044a0| 20 74 68 61 74 20 69 73 | 20 61 75 74 6f 6d 61 74 | that is| automat|
|000044b0| 69 63 61 6c 6c 79 20 67 | 69 76 65 6e 20 74 6f 20 |ically g|iven to |
|000044c0| 61 20 66 72 61 6d 65 2e | 20 20 49 66 0d 09 09 2f |a frame.| If.../|
|000044d0| 2f 20 79 6f 75 20 64 6f | 6e 27 74 20 68 61 76 65 |/ you do|n't have|
|000044e0| 20 79 6f 75 72 20 6f 77 | 6e 20 61 64 64 69 74 69 | your ow|n additi|
|000044f0| 6f 6e 61 6c 20 66 61 63 | 65 74 73 2c 20 74 68 65 |onal fac|ets, the|
|00004500| 6e 20 74 68 69 73 20 63 | 6f 64 65 20 72 65 6e 65 |n this c|ode rene|
|00004510| 67 6f 74 69 61 74 65 73 | 0d 09 09 2f 2f 20 74 68 |gotiates|...// th|
|00004520| 65 20 66 72 61 6d 65 20 | 73 68 61 70 65 20 66 6f |e frame |shape fo|
|00004530| 72 20 6e 6f 20 72 65 61 | 73 6f 6e 2c 20 73 69 6e |r no rea|son, sin|
|00004540| 63 65 20 74 68 65 20 66 | 72 61 6d 65 20 77 69 6c |ce the f|rame wil|
|00004550| 6c 20 62 65 20 67 6f 69 | 6e 67 20 61 77 61 79 0d |l be goi|ng away.|
|00004560| 09 09 2f 2f 20 69 6d 6d | 65 64 69 61 74 65 6c 79 |..// imm|ediately|
|00004570| 20 61 66 74 65 72 77 61 | 72 64 73 20 28 61 66 74 | afterwa|rds (aft|
|00004580| 65 72 20 74 68 65 20 6c | 61 73 74 2f 6f 6e 6c 79 |er the l|ast/only|
|00004590| 20 66 61 63 65 74 20 69 | 73 20 72 65 6d 6f 76 65 | facet i|s remove|
|000045a0| 64 29 2e 0d 7d 0d 0d 0d | 0d 2f 2f 2d 2d 2d 2d 2d |d)..}...|.//-----|
|000045b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000045e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|000045f0| 2f 2f 20 48 65 6c 6c 6f | 50 61 72 74 3a 3a 4d 79 |// Hello|Part::My|
|00004600| 49 6e 76 61 6c 41 6c 6c | 46 61 63 65 74 73 0d 2f |InvalAll|Facets./|
|00004610| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00004620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004650| 2d 2d 2d 2d 2d 0d 0d 76 | 6f 69 64 20 48 65 6c 6c |-----..v|oid Hell|
|00004660| 6f 50 61 72 74 3a 3a 4d | 79 49 6e 76 61 6c 41 6c |oPart::M|yInvalAl|
|00004670| 6c 46 61 63 65 74 73 28 | 29 0d 7b 0d 09 2f 2f 20 |lFacets(|).{..// |
|00004680| 54 68 69 73 20 69 73 20 | 6a 75 73 74 20 61 20 48 |This is |just a H|
|00004690| 65 6c 6c 6f 50 61 72 74 | 20 75 74 69 6c 69 74 79 |elloPart| utility|
|000046a0| 20 6d 65 74 68 6f 64 2e | 0d 0d 09 66 6f 72 20 28 | method.|...for (|
|000046b0| 46 61 63 65 74 4c 69 6e | 6b 20 2a 66 6c 20 3d 20 |FacetLin|k *fl = |
|000046c0| 66 46 61 63 65 74 73 2e | 46 69 72 73 74 28 29 3b |fFacets.|First();|
|000046d0| 20 66 6c 2d 3e 46 61 63 | 65 74 28 29 3b 20 66 6c | fl->Fac|et(); fl|
|000046e0| 3d 66 6c 2d 3e 4e 65 78 | 74 28 29 29 0d 09 09 66 |=fl->Nex|t())...f|
|000046f0| 6c 2d 3e 46 61 63 65 74 | 28 29 2d 3e 49 6e 76 61 |l->Facet|()->Inva|
|00004700| 6c 69 64 61 74 65 28 6b | 58 4d 50 4e 55 4c 4c 29 |lidate(k|XMPNULL)|
|00004710| 3b 0d 7d 0d 0d 0d 0d 2f | 2f 2d 2d 2d 2d 2d 2d 2d |;.}..../|/-------|
|00004720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004740| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004750| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004760| 2d 2d 0d 2f 2f 20 50 61 | 72 74 20 41 63 74 69 76 |--.// Pa|rt Activ|
|00004770| 61 74 69 6f 6e 20 70 72 | 6f 74 6f 63 6f 6c 0d 2f |ation pr|otocol./|
|00004780| 2f 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/-------|--------|
|00004790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000047a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000047b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000047c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 0d 58 4d 50 42 |--------|--..XMPB|
|000047d0| 6f 6f 6c 65 61 6e 20 48 | 65 6c 6c 6f 50 61 72 74 |oolean H|elloPart|
|000047e0| 3a 3a 42 65 67 69 6e 52 | 65 6c 69 6e 71 75 69 73 |::BeginR|elinquis|
|000047f0| 68 46 6f 63 75 73 28 58 | 4d 50 54 79 70 65 54 6f |hFocus(X|MPTypeTo|
|00004800| 6b 65 6e 20 66 6f 63 75 | 73 2c 0d 09 09 09 09 09 |ken focu|s,......|
|00004810| 09 09 09 09 09 20 20 20 | 58 4d 50 46 72 61 6d 65 |..... |XMPFrame|
|00004820| 2a 20 6f 77 6e 65 72 46 | 72 61 6d 65 2c 0d 09 09 |* ownerF|rame,...|
|00004830| 09 09 09 09 09 09 09 09 | 20 20 20 58 4d 50 46 72 |........| XMPFr|
|00004840| 61 6d 65 2a 20 70 72 6f | 70 6f 73 65 64 46 72 61 |ame* pro|posedFra|
|00004850| 6d 65 29 0d 7b 0d 09 57 | 65 42 65 48 65 72 65 28 |me).{..W|eBeHere(|
|00004860| 22 48 65 6c 6c 6f 50 61 | 72 74 3a 3a 42 65 67 69 |"HelloPa|rt::Begi|
|00004870| 6e 52 65 6c 69 6e 71 75 | 69 73 68 46 6f 63 75 73 |nRelinqu|ishFocus|
|00004880| 22 29 3b 0d 58 4d 50 55 | 6e 75 73 65 64 28 6f 77 |");.XMPU|nused(ow|
|00004890| 6e 65 72 46 72 61 6d 65 | 29 3b 0d 09 69 66 20 28 |nerFrame|);..if (|
|000048a0| 28 66 6f 63 75 73 20 3d | 3d 20 66 4d 6f 64 61 6c |(focus =|= fModal|
|000048b0| 46 6f 63 75 73 29 20 26 | 26 20 28 70 72 6f 70 6f |Focus) &|& (propo|
|000048c0| 73 65 64 46 72 61 6d 65 | 2d 3e 47 65 74 50 61 72 |sedFrame|->GetPar|
|000048d0| 74 28 29 20 21 3d 20 74 | 68 69 73 29 29 20 7b 0d |t() != t|his)) {.|
|000048e0| 09 09 72 65 74 75 72 6e | 20 6b 58 4d 50 46 61 6c |..return| kXMPFal|
|000048f0| 73 65 3b 0d 09 09 09 2f | 2f 20 a5 a5 20 36 2f 32 |se;..../|/ .. 6/2|
|00004900| 33 2f 39 34 0d 09 09 09 | 2f 2f 20 57 68 61 74 20 |3/94....|// What |
|00004910| 49 53 20 4d 6f 64 61 6c | 46 6f 63 75 73 2c 20 61 |IS Modal|Focus, a|
|00004920| 6e 79 77 61 79 3f 20 20 | 54 68 65 20 77 68 6f 6c |nyway? |The whol|
|00004930| 65 20 70 75 72 70 6f 73 | 65 20 6f 66 20 74 68 69 |e purpos|e of thi|
|00004940| 73 0d 09 09 09 2f 2f 20 | 4d 6f 64 61 6c 46 6f 63 |s....// |ModalFoc|
|00004950| 75 73 20 74 68 69 6e 67 | 20 69 73 20 74 6f 20 72 |us thing| is to r|
|00004960| 65 73 74 72 69 63 74 20 | 66 72 61 6d 65 20 63 68 |estrict |frame ch|
|00004970| 61 6e 67 65 73 2e 20 20 | 54 68 69 73 20 69 73 0d |anges. |This is.|
|00004980| 09 09 09 2f 2f 20 74 68 | 65 20 70 61 72 74 27 73 |...// th|e part's|
|00004990| 20 63 68 61 6e 63 65 20 | 74 6f 20 64 6f 20 74 68 | chance |to do th|
|000049a0| 69 73 2e 20 20 42 75 74 | 20 68 6f 77 20 6d 75 63 |is. But| how muc|
|000049b0| 68 20 74 6f 20 72 65 73 | 74 72 69 63 74 c9 0d 09 |h to res|trict...|
|000049c0| 09 09 2f 2f 0d 09 09 09 | 2f 2f 20 54 68 69 73 20 |..//....|// This |
|000049d0| 69 73 20 61 6e 20 69 6e | 74 65 72 65 73 74 69 6e |is an in|terestin|
|000049e0| 67 20 63 61 73 65 2e 20 | 20 4d 6f 64 61 6c 46 6f |g case. | ModalFo|
|000049f0| 63 75 73 20 69 73 20 6b | 69 6e 64 20 6f 66 20 61 |cus is k|ind of a|
|00004a00| 20 77 65 69 72 64 0d 09 | 09 09 2f 2f 20 63 6f 6e | weird..|..// con|
|00004a10| 63 65 70 74 20 69 6e 20 | 4f 70 65 6e 44 6f 63 2c |cept in |OpenDoc,|
|00004a20| 20 61 73 20 69 74 20 67 | 6f 65 73 20 61 67 61 69 | as it g|oes agai|
|00004a30| 6e 73 74 20 74 68 65 20 | 70 72 69 6e 63 69 70 61 |nst the |principa|
|00004a40| 6c 20 6f 66 0d 09 09 09 | 2f 2f 20 62 65 69 6e 67 |l of....|// being|
|00004a50| 20 61 62 6c 65 20 74 6f | 20 63 6c 69 63 6b 20 61 | able to| click a|
|00004a60| 6e 79 77 68 65 72 65 20 | 61 74 20 61 6e 79 20 74 |nywhere |at any t|
|00004a70| 69 6d 65 2e 20 20 54 68 | 69 73 20 69 6d 70 6c 65 |ime. Th|is imple|
|00004a80| 6d 65 6e 74 61 74 69 6f | 6e 0d 09 09 09 2f 2f 20 |mentatio|n....// |
|00004a90| 6b 65 65 70 73 20 74 68 | 65 20 66 6f 63 75 73 20 |keeps th|e focus |
|00004aa0| 6f 6e 20 74 68 65 20 70 | 61 72 74 2e 20 20 4e 6f |on the p|art. No|
|00004ab0| 74 65 20 74 68 61 74 20 | 74 68 65 20 69 6d 70 6c |te that |the impl|
|00004ac0| 65 6d 65 6e 74 61 74 69 | 6f 6e 0d 09 09 09 2f 2f |ementati|on....//|
|00004ad0| 20 6f 66 20 4d 6f 64 61 | 6c 46 6f 63 75 73 20 6d | of Moda|lFocus m|
|00004ae0| 69 67 68 74 20 62 65 20 | 6d 6f 72 65 20 72 65 73 |ight be |more res|
|00004af0| 74 72 69 63 74 69 76 65 | 20 74 68 61 6e 20 74 68 |trictive| than th|
|00004b00| 69 73 2e 20 20 59 6f 75 | 20 6d 61 79 0d 09 09 09 |is. You| may....|
|00004b10| 2f 2f 20 77 69 73 68 20 | 74 6f 20 72 65 73 74 72 |// wish |to restr|
|00004b20| 69 63 74 20 69 74 20 74 | 6f 20 61 20 73 69 6e 67 |ict it t|o a sing|
|00004b30| 6c 65 20 66 72 61 6d 65 | 2c 20 69 6e 73 74 65 61 |le frame|, instea|
|00004b40| 64 20 6f 66 20 61 6c 6c | 6f 77 69 6e 67 0d 09 09 |d of all|owing...|
|00004b50| 09 2f 2f 20 74 68 65 20 | 66 6f 63 75 73 20 74 6f |.// the |focus to|
|00004b60| 20 6d 6f 76 65 20 66 72 | 6f 6d 20 66 72 61 6d 65 | move fr|om frame|
|00004b70| 20 74 6f 20 66 72 61 6d | 65 20 77 69 74 68 69 6e | to fram|e within|
|00004b80| 20 61 20 73 69 6e 67 6c | 65 20 70 61 72 74 2e 0d | a singl|e part..|
|00004b90| 09 09 09 2f 2f 20 49 66 | 20 79 6f 75 20 77 69 73 |...// If| you wis|
|00004ba0| 68 20 74 6f 20 72 65 73 | 74 72 69 63 74 20 69 74 |h to res|trict it|
|00004bb0| 20 74 6f 20 61 20 73 69 | 6e 67 6c 65 20 66 72 61 | to a si|ngle fra|
|00004bc0| 6d 65 2c 20 74 68 65 6e | 20 74 68 65 20 69 66 0d |me, then| the if.|
|00004bd0| 09 09 09 2f 2f 20 73 68 | 6f 75 6c 64 20 6f 6e 6c |...// sh|ould onl|
|00004be0| 79 20 63 68 65 63 6b 20 | 69 66 20 69 74 20 69 73 |y check |if it is|
|00004bf0| 20 61 20 6d 6f 64 61 6c | 20 66 6f 63 75 73 2e 0d | a modal| focus..|
|00004c00| 09 7d 0d 09 65 6c 73 65 | 20 7b 0d 09 09 72 65 74 |.}..else| {...ret|
|00004c10| 75 72 6e 20 6b 58 4d 50 | 54 72 75 65 3b 0d 09 09 |urn kXMP|True;...|
|00004c20| 09 2f 2f 20 54 68 69 73 | 20 69 73 20 74 68 65 20 |.// This| is the |
|00004c30| 73 75 70 65 72 2d 73 63 | 72 69 70 74 20 77 61 79 |super-sc|ript way|
|00004c40| 20 6f 66 20 68 61 6e 64 | 6c 69 6e 67 20 4d 6f 64 | of hand|ling Mod|
|00004c50| 61 6c 46 6f 63 75 73 2e | 20 20 59 6f 75 0d 09 09 |alFocus.| You...|
|00004c60| 09 2f 2f 20 63 61 6e 20 | 4e 4f 54 20 73 77 69 74 |.// can |NOT swit|
|00004c70| 63 68 20 6f 66 66 20 74 | 68 65 20 66 72 61 6d 65 |ch off t|he frame|
|00004c80| 20 74 6f 20 61 6e 6f 74 | 68 65 72 2c 20 6e 6f 20 | to anot|her, no |
|00004c90| 6d 61 74 74 65 72 20 77 | 68 61 74 2e 0d 09 7d 0d |matter w|hat...}.|
|00004ca0| 7d 0d 0d 76 6f 69 64 20 | 48 65 6c 6c 6f 50 61 72 |}..void |HelloPar|
|00004cb0| 74 3a 3a 43 6f 6d 6d 69 | 74 52 65 6c 69 6e 71 75 |t::Commi|tRelinqu|
|00004cc0| 69 73 68 46 6f 63 75 73 | 28 58 4d 50 54 79 70 65 |ishFocus|(XMPType|
|00004cd0| 54 6f 6b 65 6e 20 66 6f | 63 75 73 2c 0d 09 09 09 |Token fo|cus,....|
|00004ce0| 09 09 09 09 09 09 20 20 | 58 4d 50 46 72 61 6d 65 |...... |XMPFrame|
|00004cf0| 2a 20 6f 77 6e 65 72 46 | 72 61 6d 65 2c 0d 09 09 |* ownerF|rame,...|
|00004d00| 09 09 09 09 09 09 09 20 | 20 58 4d 50 46 72 61 6d |....... | XMPFram|
|00004d10| 65 2a 20 70 72 6f 70 6f | 73 65 64 46 72 61 6d 65 |e* propo|sedFrame|
|00004d20| 29 0d 7b 0d 09 57 65 42 | 65 48 65 72 65 28 22 48 |).{..WeB|eHere("H|
|00004d30| 65 6c 6c 6f 50 61 72 74 | 3a 3a 43 6f 6d 6d 69 74 |elloPart|::Commit|
|00004d40| 52 65 6c 69 6e 71 75 69 | 73 68 46 6f 63 75 73 22 |Relinqui|shFocus"|
|00004d50| 29 3b 0d 58 4d 50 55 6e | 75 73 65 64 28 70 72 6f |);.XMPUn|used(pro|
|00004d60| 70 6f 73 65 64 46 72 61 | 6d 65 29 3b 0d 09 74 68 |posedFra|me);..th|
|00004d70| 69 73 2d 3e 46 6f 63 75 | 73 4c 6f 73 74 28 66 6f |is->Focu|sLost(fo|
|00004d80| 63 75 73 2c 20 6f 77 6e | 65 72 46 72 61 6d 65 29 |cus, own|erFrame)|
|00004d90| 3b 0d 09 09 2f 2f 20 a5 | a5 20 36 2f 32 33 2f 39 |;...// .|. 6/23/9|
|00004da0| 34 0d 09 09 2f 2f 20 4e | 6f 20 63 68 6f 69 63 65 |4...// N|o choice|
|00004db0| 73 20 74 6f 20 62 65 20 | 6d 61 64 65 20 68 65 72 |s to be |made her|
|00004dc0| 65 2e 20 20 49 74 27 73 | 20 74 6f 6f 20 6c 61 74 |e. It's| too lat|
|00004dd0| 65 20 74 6f 20 73 61 79 | 20 6e 6f 2e 20 20 57 65 |e to say| no. We|
|00004de0| 20 61 72 65 0d 09 09 2f | 2f 20 6c 6f 73 69 6e 67 | are.../|/ losing|
|00004df0| 20 74 68 65 20 66 6f 63 | 75 73 20 69 66 20 77 65 | the foc|us if we|
|00004e00| 20 61 72 65 20 68 65 72 | 65 2e 20 20 47 65 74 74 | are her|e. Gett|
|00004e10| 69 6e 67 20 63 61 6c 6c | 65 64 20 68 65 72 65 20 |ing call|ed here |
|00004e20| 6d 65 61 6e 73 0d 09 09 | 2f 2f 20 74 68 61 74 20 |means...|// that |
|00004e30| 42 65 67 69 6e 52 65 6c | 69 6e 71 75 69 73 68 46 |BeginRel|inquishF|
|00004e40| 6f 63 75 73 20 68 61 73 | 20 61 6c 72 65 61 64 79 |ocus has| already|
|00004e50| 20 61 67 72 65 65 64 20 | 74 68 61 74 20 6c 6f 73 | agreed |that los|
|00004e60| 69 6e 67 20 66 6f 63 75 | 73 0d 09 09 2f 2f 20 69 |ing focu|s...// i|
|00004e70| 73 20 6f 6b 61 79 2e 20 | 20 49 66 20 79 6f 75 20 |s okay. | If you |
|00004e80| 64 6f 6e 27 74 20 77 61 | 6e 74 20 74 68 69 73 20 |don't wa|nt this |
|00004e90| 74 6f 20 62 65 20 68 61 | 70 70 65 6e 69 6e 67 2c |to be ha|ppening,|
|00004ea0| 20 74 68 65 6e 20 79 6f | 75 20 6e 65 65 64 0d 09 | then yo|u need..|
|00004eb0| 09 2f 2f 20 74 6f 20 64 | 6f 20 73 6f 6d 65 74 68 |.// to d|o someth|
|00004ec0| 69 6e 67 20 69 6e 20 42 | 65 67 69 6e 52 65 6c 69 |ing in B|eginReli|
|00004ed0| 6e 71 75 69 73 68 46 6f | 63 75 73 2e 0d 09 09 2f |nquishFo|cus..../|
|00004ee0| 2f 0d 09 09 2f 2f 20 54 | 68 65 20 77 61 79 20 74 |/...// T|he way t|
|00004ef0| 68 61 74 20 73 6f 6d 65 | 20 6f 74 68 65 72 20 73 |hat some| other s|
|00004f00| 61 6d 70 6c 65 73 20 61 | 72 65 20 63 75 72 72 65 |amples a|re curre|
|00004f10| 6e 74 6c 79 20 77 72 69 | 74 74 65 6e 20 49 20 62 |ntly wri|tten I b|
|00004f20| 65 6c 69 65 76 65 0d 09 | 09 2f 2f 20 74 6f 20 62 |elieve..|.// to b|
|00004f30| 65 20 69 6e 20 65 72 72 | 6f 72 2e 20 20 54 68 65 |e in err|or. The|
|00004f40| 20 72 65 63 69 70 65 73 | 20 73 61 79 20 74 68 61 | recipes| say tha|
|00004f50| 74 20 77 68 65 6e 20 74 | 68 69 73 20 69 73 20 63 |t when t|his is c|
|00004f60| 61 6c 6c 65 64 2c 20 69 | 74 0d 09 09 2f 2f 20 68 |alled, i|t...// h|
|00004f70| 61 73 20 61 6c 72 65 61 | 64 79 20 62 65 65 6e 20 |as alrea|dy been |
|00004f80| 64 65 63 69 64 65 64 20 | 74 68 61 74 2c 20 66 6f |decided |that, fo|
|00004f90| 63 75 73 2d 77 69 73 65 | 2c 20 79 6f 75 20 6c 6f |cus-wise|, you lo|
|00004fa0| 73 65 2e 20 20 54 68 65 | 72 65 66 6f 72 65 0d 09 |se. The|refore..|
|00004fb0| 09 2f 2f 20 74 68 65 72 | 65 20 73 68 6f 75 6c 64 |.// ther|e should|
|00004fc0| 20 62 65 20 6e 6f 20 63 | 6f 6e 64 69 74 69 6f 6e | be no c|ondition|
|00004fd0| 73 20 6f 6e 20 63 61 6c | 6c 69 6e 67 20 46 6f 63 |s on cal|ling Foc|
|00004fe0| 75 73 4c 6f 73 74 2e 0d | 7d 0d 09 09 09 09 09 09 |usLost..|}.......|
|00004ff0| 09 0d 76 6f 69 64 20 48 | 65 6c 6c 6f 50 61 72 74 |..void H|elloPart|
|00005000| 3a 3a 41 62 6f 72 74 52 | 65 6c 69 6e 71 75 69 73 |::AbortR|elinquis|
|00005010| 68 46 6f 63 75 73 28 58 | 4d 50 54 79 70 65 54 6f |hFocus(X|MPTypeTo|
|00005020| 6b 65 6e 20 66 6f 63 75 | 73 2c 0d 09 09 09 09 09 |ken focu|s,......|
|00005030| 09 09 09 09 20 58 4d 50 | 46 72 61 6d 65 2a 20 6f |.... XMP|Frame* o|
|00005040| 77 6e 65 72 46 72 61 6d | 65 2c 0d 09 09 09 09 09 |wnerFram|e,......|
|00005050| 09 09 09 09 20 58 4d 50 | 46 72 61 6d 65 2a 20 70 |.... XMP|Frame* p|
|00005060| 72 6f 70 6f 73 65 64 46 | 72 61 6d 65 29 0d 7b 0d |roposedF|rame).{.|
|00005070| 09 57 65 42 65 48 65 72 | 65 28 22 48 65 6c 6c 6f |.WeBeHer|e("Hello|
|00005080| 50 61 72 74 3a 3a 41 62 | 6f 72 74 52 65 6c 69 6e |Part::Ab|ortRelin|
|00005090| 71 75 69 73 68 46 6f 63 | 75 73 22 29 3b 0d 58 4d |quishFoc|us");.XM|
|000050a0| 50 55 6e 75 73 65 64 28 | 66 6f 63 75 73 29 3b 0d |PUnused(|focus);.|
|000050b0| 58 4d 50 55 6e 75 73 65 | 64 28 6f 77 6e 65 72 46 |XMPUnuse|d(ownerF|
|000050c0| 72 61 6d 65 29 3b 0d 58 | 4d 50 55 6e 75 73 65 64 |rame);.X|MPUnused|
|000050d0| 28 70 72 6f 70 6f 73 65 | 64 46 72 61 6d 65 29 3b |(propose|dFrame);|
|000050e0| 0d 09 2f 2f 20 a5 a5 20 | 36 2f 32 33 2f 39 34 0d |..// .. |6/23/94.|
|000050f0| 09 2f 2f 20 42 65 69 6e | 67 20 68 65 72 65 20 6d |.// Bein|g here m|
|00005100| 65 61 6e 73 20 74 68 61 | 74 20 42 65 67 69 6e 52 |eans tha|t BeginR|
|00005110| 65 6c 69 6e 71 75 69 73 | 68 46 6f 63 75 73 20 73 |elinquis|hFocus s|
|00005120| 61 69 64 20 6e 6f 20 74 | 6f 20 6f 6e 65 20 6f 66 |aid no t|o one of|
|00005130| 20 74 68 65 20 66 6f 63 | 69 2e 0d 09 2f 2f 20 59 | the foc|i...// Y|
|00005140| 6f 75 20 61 72 65 20 62 | 65 69 6e 67 20 69 6e 66 |ou are b|eing inf|
|00005150| 6f 72 6d 65 64 20 6f 66 | 20 74 68 69 73 20 62 65 |ormed of| this be|
|00005160| 63 61 75 73 65 20 79 6f | 75 20 6d 61 79 20 68 61 |cause yo|u may ha|
|00005170| 76 65 20 61 6c 72 65 61 | 64 79 20 74 61 6b 65 6e |ve alrea|dy taken|
|00005180| 20 61 63 74 69 6f 6e 0d | 09 2f 2f 20 62 61 73 65 | action.|.// base|
|00005190| 64 20 6f 6e 20 61 20 70 | 72 65 76 69 6f 75 73 20 |d on a p|revious |
|000051a0| 66 6f 63 75 73 2e 20 20 | 4e 6f 74 65 20 74 68 61 |focus. |Note tha|
|000051b0| 74 20 69 66 20 66 6f 63 | 69 20 61 72 65 20 6d 61 |t if foc|i are ma|
|000051c0| 6e 61 67 65 64 20 61 73 | 20 61 20 73 65 74 2c 20 |naged as| a set, |
|000051d0| 69 66 0d 09 2f 2f 20 42 | 65 67 69 6e 52 65 6c 69 |if..// B|eginReli|
|000051e0| 6e 71 75 69 73 68 46 6f | 63 75 73 20 73 61 79 73 |nquishFo|cus says|
|000051f0| 20 66 61 6c 73 65 20 74 | 6f 20 61 6e 79 20 6f 66 | false t|o any of|
|00005200| 20 74 68 65 20 66 6f 63 | 69 2c 20 74 68 65 6e 20 | the foc|i, then |
|00005210| 6e 6f 20 61 63 74 69 6f | 6e 20 69 73 0d 09 2f 2f |no actio|n is..//|
|00005220| 20 74 61 6b 65 6e 2e 20 | 20 49 66 20 68 6f 77 65 | taken. | If howe|
|00005230| 76 65 72 20 74 68 65 20 | 66 6f 63 69 20 61 72 65 |ver the |foci are|
|00005240| 20 74 65 73 74 65 64 20 | 6f 6e 65 20 61 74 20 61 | tested |one at a|
|00005250| 20 74 69 6d 65 2c 20 69 | 74 20 69 73 20 70 6f 73 | time, i|t is pos|
|00005260| 73 69 62 6c 65 20 74 68 | 61 74 0d 09 2f 2f 20 74 |sible th|at..// t|
|00005270| 68 65 20 70 61 72 74 20 | 68 61 73 20 61 6c 72 65 |he part |has alre|
|00005280| 61 64 79 20 74 61 6b 65 | 6e 20 61 63 74 69 6f 6e |ady take|n action|
|00005290| 20 62 61 73 65 64 20 6f | 6e 20 74 68 65 20 66 69 | based o|n the fi|
|000052a0| 72 73 74 20 66 6f 63 69 | 2c 20 61 6e 64 20 74 68 |rst foci|, and th|
|000052b0| 65 72 65 66 6f 72 65 0d | 09 2f 2f 20 6e 65 65 64 |erefore.|.// need|
|000052c0| 73 20 74 6f 20 75 6e 64 | 6f 20 73 6f 6d 65 74 68 |s to und|o someth|
|000052d0| 69 6e 67 20 6f 6e 63 65 | 20 61 20 66 6f 63 69 20 |ing once| a foci |
|000052e0| 73 61 79 73 20 6e 6f 20 | 74 68 61 6e 6b 73 2e 0d |says no |thanks..|
|000052f0| 7d 0d 09 09 09 09 09 09 | 09 20 20 0d 76 6f 69 64 |}.......|. .void|
|00005300| 20 48 65 6c 6c 6f 50 61 | 72 74 3a 3a 46 6f 63 75 | HelloPa|rt::Focu|
|00005310| 73 41 63 71 75 69 72 65 | 64 28 58 4d 50 54 79 70 |sAcquire|d(XMPTyp|
|00005320| 65 54 6f 6b 65 6e 20 66 | 6f 63 75 73 2c 20 58 4d |eToken f|ocus, XM|
|00005330| 50 46 72 61 6d 65 2a 20 | 6f 77 6e 65 72 46 72 61 |PFrame* |ownerFra|
|00005340| 6d 65 29 0d 7b 0d 09 57 | 65 42 65 48 65 72 65 28 |me).{..W|eBeHere(|
|00005350| 22 48 65 6c 6c 6f 50 61 | 72 74 3a 3a 46 6f 63 75 |"HelloPa|rt::Focu|
|00005360| 73 41 63 71 75 69 72 65 | 64 22 29 3b 0d 09 69 66 |sAcquire|d");..if|
|00005370| 20 28 66 6f 63 75 73 20 | 3d 3d 20 66 4d 65 6e 75 | (focus |== fMenu|
|00005380| 46 6f 63 75 73 29 20 0d | 09 09 69 66 20 28 6f 77 |Focus) .|..if (ow|
|00005390| 6e 65 72 46 72 61 6d 65 | 20 26 26 20 66 4d 65 6e |nerFrame| && fMen|
|000053a0| 75 42 61 72 29 0d 09 09 | 7b 09 0d 09 09 09 66 4d |uBar)...|{.....fM|
|000053b0| 65 6e 75 42 61 72 2d 3e | 44 69 73 70 6c 61 79 28 |enuBar->|Display(|
|000053c0| 29 3b 0d 09 09 7d 0d 7d | 09 0d 0d 76 6f 69 64 20 |);...}.}|...void |
|000053d0| 48 65 6c 6c 6f 50 61 72 | 74 3a 3a 46 6f 63 75 73 |HelloPar|t::Focus|
|000053e0| 4c 6f 73 74 28 58 4d 50 | 54 79 70 65 54 6f 6b 65 |Lost(XMP|TypeToke|
|000053f0| 6e 20 66 6f 63 75 73 2c | 20 58 4d 50 46 72 61 6d |n focus,| XMPFram|
|00005400| 65 2a 20 6f 77 6e 65 72 | 46 72 61 6d 65 29 0d 7b |e* owner|Frame).{|
|00005410| 0d 09 57 65 42 65 48 65 | 72 65 28 22 48 65 6c 6c |..WeBeHe|re("Hell|
|00005420| 6f 50 61 72 74 3a 3a 46 | 6f 63 75 73 4c 6f 73 74 |oPart::F|ocusLost|
|00005430| 22 29 3b 0d 58 4d 50 55 | 6e 75 73 65 64 28 6f 77 |");.XMPU|nused(ow|
|00005440| 6e 65 72 46 72 61 6d 65 | 29 3b 0d 09 69 66 20 28 |nerFrame|);..if (|
|00005450| 66 6f 63 75 73 20 3d 3d | 20 66 4d 65 6e 75 46 6f |focus ==| fMenuFo|
|00005460| 63 75 73 29 20 0d 09 7b | 0d 09 7d 0d 7d 0d 0d 0d |cus) ..{|..}.}...|
|00005470| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|00005480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000054a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000054b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 2f 2f 20 |--------|----.// |
|000054c0| 53 74 6f 72 61 67 65 20 | 70 72 6f 74 6f 63 6f 6c |Storage |protocol|
|000054d0| 0d 2f 2f 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.//-----|--------|
|000054e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000054f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 0d 76 6f |--------|----..vo|
|00005520| 69 64 20 48 65 6c 6c 6f | 50 61 72 74 3a 3a 43 6c |id Hello|Part::Cl|
|00005530| 6f 6e 65 49 6e 74 6f 28 | 58 4d 50 44 72 61 66 74 |oneInto(|XMPDraft|
|00005540| 4b 65 79 20 6b 65 79 2c | 20 58 4d 50 53 74 6f 72 |Key key,| XMPStor|
|00005550| 61 67 65 55 6e 69 74 2a | 20 73 74 6f 72 61 67 65 |ageUnit*| storage|
|00005560| 55 6e 69 74 2c 20 58 4d | 50 53 74 6f 72 61 67 65 |Unit, XM|PStorage|
|00005570| 55 6e 69 74 2a 20 69 6e | 69 74 69 61 74 69 6e 67 |Unit* in|itiating|
|00005580| 46 72 61 6d 65 53 55 29 | 0d 7b 0d 09 57 65 42 65 |FrameSU)|.{..WeBe|
|00005590| 48 65 72 65 28 22 48 65 | 6c 6c 6f 50 61 72 74 3a |Here("He|lloPart:|
|000055a0| 3a 43 6c 6f 6e 65 49 6e | 74 6f 22 29 3b 0d 0d 09 |:CloneIn|to");...|
|000055b0| 58 4d 50 53 74 6f 72 61 | 67 65 55 6e 69 74 2a 09 |XMPStora|geUnit*.|
|000055c0| 73 75 20 3d 20 74 68 69 | 73 2d 3e 47 65 74 53 74 |su = thi|s->GetSt|
|000055d0| 6f 72 61 67 65 55 6e 69 | 74 28 29 3b 0d 09 58 4d |orageUni|t();..XM|
|000055e0| 50 44 72 61 66 74 2a 09 | 09 64 72 61 66 74 20 3d |PDraft*.|.draft =|
|000055f0| 20 73 75 2d 3e 47 65 74 | 44 72 61 66 74 28 29 3b | su->Get|Draft();|
|00005600| 0d 0d 09 58 4d 50 56 6f | 6c 61 74 69 6c 65 28 64 |...XMPVo|latile(d|
|00005610| 72 61 66 74 29 3b 0d 0d | 09 74 68 69 73 2d 3e 45 |raft);..|.this->E|
|00005620| 78 74 65 72 6e 61 6c 69 | 7a 65 28 29 3b 0d 09 0d |xternali|ze();...|
|00005630| 09 54 52 59 0d 09 09 73 | 75 2d 3e 43 6c 6f 6e 65 |.TRY...s|u->Clone|
|00005640| 49 6e 74 6f 28 6b 65 79 | 2c 20 73 74 6f 72 61 67 |Into(key|, storag|
|00005650| 65 55 6e 69 74 2c 20 69 | 6e 69 74 69 61 74 69 6e |eUnit, i|nitiatin|
|00005660| 67 46 72 61 6d 65 53 55 | 29 3b 0d 09 43 41 54 43 |gFrameSU|);..CATC|
|00005670| 48 5f 41 4c 4c 0d 09 09 | 64 72 61 66 74 2d 3e 41 |H_ALL...|draft->A|
|00005680| 62 6f 72 74 43 6c 6f 6e | 65 28 6b 65 79 29 3b 0d |bortClon|e(key);.|
|00005690| 09 45 4e 44 54 52 59 0d | 7d 0d 0d 0d 0d 2f 2f 2d |.ENDTRY.|}....//-|
|000056a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000056b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000056c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000056d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000056e0| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 2f 2f 20 46 72 61 6d |--------|.// Fram|
|000056f0| 65 20 70 72 6f 74 6f 63 | 6f 6c 0d 2f 2f 2d 2d 2d |e protoc|ol.//---|
|00005700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005720| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005730| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005740| 2d 2d 2d 2d 2d 2d 0d 0d | 76 6f 69 64 20 48 65 6c |------..|void Hel|
|00005750| 6c 6f 50 61 72 74 3a 3a | 52 65 6d 6f 76 65 44 69 |loPart::|RemoveDi|
|00005760| 73 70 6c 61 79 46 72 61 | 6d 65 28 58 4d 50 46 72 |splayFra|me(XMPFr|
|00005770| 61 6d 65 2a 20 66 72 61 | 6d 65 29 0d 0d 2f 2f 20 |ame* fra|me)..// |
|00005780| 52 65 6d 6f 76 65 73 20 | 74 68 65 20 66 72 61 6d |Removes |the fram|
|00005790| 65 20 66 72 6f 6d 20 74 | 68 65 20 6c 69 73 74 20 |e from t|he list |
|000057a0| 6f 66 20 64 69 73 70 6c | 61 79 20 66 72 61 6d 65 |of displ|ay frame|
|000057b0| 73 2e 0d 2f 2f 0d 2f 2f | 20 43 61 6c 6c 65 64 20 |s..//.//| Called |
|000057c0| 62 79 20 46 72 61 6d 65 | 3a 3a 52 65 6d 6f 76 65 |by Frame|::Remove|
|000057d0| 28 29 2e 0d 2f 2f 0d 2f | 2f 20 54 68 69 73 20 6d |()..//./|/ This m|
|000057e0| 65 74 68 6f 64 20 6d 61 | 6b 65 73 20 77 68 61 74 |ethod ma|kes what|
|000057f0| 65 76 65 72 20 6f 74 68 | 65 72 20 61 64 6a 75 73 |ever oth|er adjus|
|00005800| 74 6d 65 6e 74 73 20 61 | 72 65 20 6e 65 63 65 73 |tments a|re neces|
|00005810| 73 61 72 79 0d 2f 2f 20 | 74 6f 20 64 65 61 6c 20 |sary.// |to deal |
|00005820| 77 69 74 68 20 72 65 6d | 6f 76 69 6e 67 20 6f 6e |with rem|oving on|
|00005830| 65 20 6f 66 20 74 68 65 | 20 70 72 65 73 65 6e 74 |e of the| present|
|00005840| 61 74 69 6f 6e 73 2e 20 | 54 68 69 73 20 69 6e 63 |ations. |This inc|
|00005850| 6c 75 64 65 73 0d 2f 2f | 20 72 65 6d 6f 76 69 6e |ludes.//| removin|
|00005860| 67 20 61 6e 79 20 66 72 | 61 6d 65 73 20 65 6d 62 |g any fr|ames emb|
|00005870| 65 64 64 65 64 20 77 69 | 74 68 69 6e 20 74 68 69 |edded wi|thin thi|
|00005880| 73 20 64 69 73 70 6c 61 | 79 20 66 72 61 6d 65 2e |s displa|y frame.|
|00005890| 0d 2f 2f 20 42 65 66 6f | 72 65 20 63 61 6c 6c 69 |.// Befo|re calli|
|000058a0| 6e 67 20 74 68 69 73 20 | 6d 65 74 68 6f 64 2c 20 |ng this |method, |
|000058b0| 79 6f 75 20 6d 75 73 74 | 20 65 6e 73 75 72 65 20 |you must| ensure |
|000058c0| 74 68 61 74 20 74 68 65 | 20 66 72 61 6d 65 0d 2f |that the| frame./|
|000058d0| 2f 20 68 61 73 20 6e 6f | 20 66 61 63 65 74 73 2e |/ has no| facets.|
|000058e0| 0d 0d 7b 0d 09 57 65 42 | 65 48 65 72 65 28 22 48 |..{..WeB|eHere("H|
|000058f0| 65 6c 6c 6f 50 61 72 74 | 3a 3a 52 65 6d 6f 76 65 |elloPart|::Remove|
|00005900| 44 69 73 70 6c 61 79 46 | 72 61 6d 65 22 29 3b 0d |DisplayF|rame");.|
|00005910| 0d 09 66 53 65 73 73 69 | 6f 6e 2d 3e 47 65 74 41 |..fSessi|on->GetA|
|00005920| 72 62 69 74 72 61 74 6f | 72 28 29 2d 3e 52 65 6c |rbitrato|r()->Rel|
|00005930| 69 6e 71 75 69 73 68 46 | 6f 63 75 73 53 65 74 28 |inquishF|ocusSet(|
|00005940| 66 46 6f 63 75 73 53 65 | 74 2c 20 66 72 61 6d 65 |fFocusSe|t, frame|
|00005950| 29 3b 0d 7d 0d 0d 0d 76 | 6f 69 64 20 48 65 6c 6c |);.}...v|oid Hell|
|00005960| 6f 50 61 72 74 3a 3a 43 | 6c 6f 73 65 44 69 73 70 |oPart::C|loseDisp|
|00005970| 6c 61 79 46 72 61 6d 65 | 28 58 4d 50 46 72 61 6d |layFrame|(XMPFram|
|00005980| 65 2a 20 66 72 61 6d 65 | 29 0d 0d 2f 2f 20 49 6e |e* frame|)..// In|
|00005990| 66 6f 72 6d 73 20 61 20 | 70 61 72 74 20 74 68 61 |forms a |part tha|
|000059a0| 74 20 6f 6e 65 20 6f 66 | 20 69 74 73 20 64 69 73 |t one of| its dis|
|000059b0| 70 6c 61 79 20 66 72 61 | 6d 65 73 20 69 73 20 63 |play fra|mes is c|
|000059c0| 6c 6f 73 69 6e 67 2e 0d | 2f 2f 0d 2f 2f 20 43 61 |losing..|//.// Ca|
|000059d0| 6c 6c 65 64 20 62 79 20 | 74 68 65 20 66 72 61 6d |lled by |the fram|
|000059e0| 65 20 6f 62 6a 65 63 74 | 2e 0d 2f 2f 20 54 68 65 |e object|..// The|
|000059f0| 20 70 61 72 74 20 73 68 | 6f 75 6c 64 20 72 65 6d | part sh|ould rem|
|00005a00| 6f 76 65 20 d2 66 72 61 | 6d 65 d3 20 66 72 6f 6d |ove .fra|me. from|
|00005a10| 20 69 74 73 20 6c 69 73 | 74 20 6f 66 20 64 69 73 | its lis|t of dis|
|00005a20| 70 6c 61 79 20 66 72 61 | 6d 65 73 2c 0d 2f 2f 20 |play fra|mes,.// |
|00005a30| 63 61 6c 6c 20 46 72 61 | 6d 65 3a 3a 43 6c 6f 73 |call Fra|me::Clos|
|00005a40| 65 28 29 20 6f 6e 20 61 | 6e 79 20 66 72 61 6d 65 |e() on a|ny frame|
|00005a50| 73 20 74 68 61 74 20 61 | 72 65 20 65 6d 62 65 64 |s that a|re embed|
|00005a60| 64 65 64 20 77 69 74 68 | 69 6e 20 74 68 61 74 0d |ded with|in that.|
|00005a70| 2f 2f 20 66 72 61 6d 65 | 2c 20 61 6e 64 20 74 68 |// frame|, and th|
|00005a80| 65 6e 20 72 65 6c 65 61 | 73 65 20 74 68 65 20 66 |en relea|se the f|
|00005a90| 72 61 6d 65 2e 0d 0d 7b | 0d 09 57 65 42 65 48 65 |rame...{|..WeBeHe|
|00005aa0| 72 65 28 22 48 65 6c 6c | 6f 50 61 72 74 3a 3a 43 |re("Hell|oPart::C|
|00005ab0| 6c 6f 73 65 44 69 73 70 | 6c 61 79 46 72 61 6d 65 |loseDisp|layFrame|
|00005ac0| 22 29 3b 0d 0d 09 66 53 | 65 73 73 69 6f 6e 2d 3e |");...fS|ession->|
|00005ad0| 47 65 74 41 72 62 69 74 | 72 61 74 6f 72 28 29 2d |GetArbit|rator()-|
|00005ae0| 3e 52 65 6c 69 6e 71 75 | 69 73 68 46 6f 63 75 73 |>Relinqu|ishFocus|
|00005af0| 53 65 74 28 66 46 6f 63 | 75 73 53 65 74 2c 20 66 |Set(fFoc|usSet, f|
|00005b00| 72 61 6d 65 29 3b 0d 7d | 0d 0d 0d 76 6f 69 64 20 |rame);.}|...void |
|00005b10| 48 65 6c 6c 6f 50 61 72 | 74 3a 3a 46 72 61 6d 65 |HelloPar|t::Frame|
|00005b20| 53 68 61 70 65 43 68 61 | 6e 67 65 64 28 58 4d 50 |ShapeCha|nged(XMP|
|00005b30| 46 72 61 6d 65 2a 20 66 | 72 61 6d 65 29 0d 0d 2f |Frame* f|rame)../|
|00005b40| 2f 20 a5 a5 ca 4e 6f 74 | 69 66 69 65 73 20 74 68 |/ ...Not|ifies th|
|00005b50| 65 20 70 61 72 74 20 74 | 68 61 74 20 74 68 65 20 |e part t|hat the |
|00005b60| 66 72 61 6d 65 20 73 68 | 61 70 65 20 6f 66 20 6f |frame sh|ape of o|
|00005b70| 6e 65 20 6f 66 20 69 74 | 73 0d 2f 2f 20 64 69 73 |ne of it|s.// dis|
|00005b80| 70 6c 61 79 20 66 72 61 | 6d 65 73 20 68 61 73 20 |play fra|mes has |
|00005b90| 62 65 65 6e 20 63 68 61 | 6e 67 65 64 20 62 79 20 |been cha|nged by |
|00005ba0| 69 74 73 20 63 6f 6e 74 | 61 69 6e 69 6e 67 20 70 |its cont|aining p|
|00005bb0| 61 72 74 2e 0d 2f 2f 0d | 2f 2f 20 43 61 6c 6c 65 |art..//.|// Calle|
|00005bc0| 64 20 62 79 20 46 72 61 | 6d 65 3a 3a 43 68 61 6e |d by Fra|me::Chan|
|00005bd0| 67 65 46 72 61 6d 65 53 | 68 61 70 65 2e 0d 2f 2f |geFrameS|hape..//|
|00005be0| 0d 2f 2f 20 54 68 65 20 | 70 61 72 74 20 73 68 6f |.// The |part sho|
|00005bf0| 75 6c 64 20 74 61 6b 65 | 20 77 68 61 74 65 76 65 |uld take| whateve|
|00005c00| 72 20 61 63 74 69 6f 6e | 73 20 61 72 65 20 6e 65 |r action|s are ne|
|00005c10| 63 65 73 73 61 72 79 20 | 74 6f 20 72 65 73 70 6f |cessary |to respo|
|00005c20| 6e 64 0d 2f 2f 20 74 6f | 20 74 68 65 20 6e 65 77 |nd.// to| the new|
|00005c30| 20 73 68 61 70 65 2e 20 | 49 74 20 6d 61 79 20 6e | shape. |It may n|
|00005c40| 65 65 64 20 74 6f 20 72 | 65 2d 6c 61 79 6f 75 74 |eed to r|e-layout|
|00005c50| 20 69 74 73 20 63 6f 6e | 74 65 6e 74 2c 20 63 68 | its con|tent, ch|
|00005c60| 61 6e 67 65 0d 2f 2f 20 | 69 74 73 20 75 73 65 64 |ange.// |its used|
|00005c70| 20 73 68 61 70 65 2c 20 | 72 65 73 69 7a 65 20 69 | shape, |resize i|
|00005c80| 74 73 20 65 6d 62 65 64 | 64 65 64 20 66 72 61 6d |ts embed|ded fram|
|00005c90| 65 73 2c 20 6f 72 20 73 | 6f 6d 65 74 68 69 6e 67 |es, or s|omething|
|00005ca0| 20 65 6c 73 65 2e 0d 2f | 2f 20 49 74 20 61 6c 73 | else../|/ It als|
|00005cb0| 6f 20 68 61 73 20 74 68 | 65 20 6f 70 74 69 6f 6e |o has th|e option|
|00005cc0| 20 6f 66 20 74 75 72 6e | 69 6e 67 20 61 72 6f 75 | of turn|ing arou|
|00005cd0| 6e 64 20 61 6e 64 20 61 | 73 6b 69 6e 67 20 74 68 |nd and a|sking th|
|00005ce0| 65 20 66 72 61 6d 65 0d | 2f 2f 20 66 6f 72 20 61 |e frame.|// for a|
|00005cf0| 20 64 69 66 66 65 72 65 | 6e 74 20 66 72 61 6d 65 | differe|nt frame|
|00005d00| 20 73 68 61 70 65 20 76 | 69 61 20 52 65 71 75 65 | shape v|ia Reque|
|00005d10| 73 74 46 72 61 6d 65 53 | 68 61 70 65 2c 20 74 68 |stFrameS|hape, th|
|00005d20| 6f 75 67 68 20 69 74 0d | 2f 2f 20 6d 75 73 74 20 |ough it.|// must |
|00005d30| 62 65 20 61 62 6c 65 20 | 74 6f 20 68 61 6e 64 6c |be able |to handl|
|00005d40| 65 20 74 68 65 20 73 68 | 61 70 65 20 69 74 20 69 |e the sh|ape it i|
|00005d50| 73 20 67 69 76 65 6e 2e | 20 49 66 20 74 68 65 20 |s given.| If the |
|00005d60| 73 69 7a 65 20 6f 66 0d | 2f 2f 20 74 68 65 20 66 |size of.|// the f|
|00005d70| 72 61 6d 65 20 69 73 20 | 6e 6f 74 20 73 75 66 66 |rame is |not suff|
|00005d80| 69 63 69 65 6e 74 2c 20 | 74 68 65 20 70 61 72 74 |icient, |the part|
|00005d90| 20 6d 61 79 20 61 73 6b | 20 74 68 65 20 63 6f 6e | may ask| the con|
|00005da0| 74 61 69 6e 69 6e 67 0d | 2f 2f 20 70 61 72 74 20 |taining.|// part |
|00005db0| 66 6f 72 20 61 20 63 6f | 6e 74 69 6e 75 61 74 69 |for a co|ntinuati|
|00005dc0| 6f 6e 20 66 72 61 6d 65 | 20 76 69 61 20 43 72 65 |on frame| via Cre|
|00005dd0| 61 74 65 45 6d 62 65 64 | 64 65 64 46 72 61 6d 65 |ateEmbed|dedFrame|
|00005de0| 2e 0d 0d 7b 0d 09 57 65 | 42 65 48 65 72 65 28 22 |...{..We|BeHere("|
|00005df0| 48 65 6c 6c 6f 50 61 72 | 74 3a 3a 46 72 61 6d 65 |HelloPar|t::Frame|
|00005e00| 53 68 61 70 65 43 68 61 | 6e 67 65 64 22 29 3b 0d |ShapeCha|nged");.|
|00005e10| 0d 09 66 72 61 6d 65 2d | 3e 52 65 71 75 65 73 74 |..frame-|>Request|
|00005e20| 46 72 61 6d 65 53 68 61 | 70 65 28 74 68 69 73 2d |FrameSha|pe(this-|
|00005e30| 3e 4d 79 47 65 74 46 72 | 61 6d 65 53 68 61 70 65 |>MyGetFr|ameShape|
|00005e40| 28 66 72 61 6d 65 29 29 | 3b 0d 09 74 68 69 73 2d |(frame))|;..this-|
|00005e50| 3e 4d 79 41 64 6a 75 73 | 74 46 61 63 65 74 73 28 |>MyAdjus|tFacets(|
|00005e60| 66 72 61 6d 65 29 3b 0d | 09 66 72 61 6d 65 2d 3e |frame);.|.frame->|
|00005e70| 49 6e 76 61 6c 69 64 61 | 74 65 41 63 74 69 76 65 |Invalida|teActive|
|00005e80| 42 6f 72 64 65 72 28 29 | 3b 0d 7d 0d 0d 0d 58 4d |Border()|;.}...XM|
|00005e90| 50 53 68 61 70 65 2a 20 | 48 65 6c 6c 6f 50 61 72 |PShape* |HelloPar|
|00005ea0| 74 3a 3a 4d 79 47 65 74 | 46 72 61 6d 65 53 68 61 |t::MyGet|FrameSha|
|00005eb0| 70 65 28 58 4d 50 46 72 | 61 6d 65 2a 20 66 72 61 |pe(XMPFr|ame* fra|
|00005ec0| 6d 65 29 0d 0d 2f 2f 20 | 54 68 69 73 20 69 73 20 |me)..// |This is |
|00005ed0| 6a 75 73 74 20 74 6f 20 | 63 65 6e 74 72 61 6c 69 |just to |centrali|
|00005ee0| 7a 65 20 74 68 65 20 66 | 72 61 6d 65 20 73 68 61 |ze the f|rame sha|
|00005ef0| 70 65 20 63 6f 64 65 2e | 20 20 44 6f 20 69 74 20 |pe code.| Do it |
|00005f00| 61 6e 79 20 77 61 79 0d | 2f 2f 20 69 73 20 62 65 |any way.|// is be|
|00005f10| 73 74 20 66 6f 72 20 79 | 6f 75 72 20 70 61 72 74 |st for y|our part|
|00005f20| 2e 0d 0d 7b 0d 09 52 67 | 6e 48 61 6e 64 6c 65 09 |...{..Rg|nHandle.|
|00005f30| 73 68 61 70 65 52 67 6e | 20 3d 20 66 72 61 6d 65 |shapeRgn| = frame|
|00005f40| 2d 3e 47 65 74 46 72 61 | 6d 65 53 68 61 70 65 28 |->GetFra|meShape(|
|00005f50| 29 2d 3e 47 65 74 51 44 | 52 65 67 69 6f 6e 28 29 |)->GetQD|Region()|
|00005f60| 3b 0d 09 52 65 63 74 09 | 09 72 72 20 3d 20 28 2a |;..Rect.|.rr = (*|
|00005f70| 73 68 61 70 65 52 67 6e | 29 2d 3e 72 67 6e 42 42 |shapeRgn|)->rgnBB|
|00005f80| 6f 78 3b 0d 09 73 68 6f | 72 74 09 09 68 68 20 3d |ox;..sho|rt..hh =|
|00005f90| 20 72 72 2e 62 6f 74 74 | 6f 6d 20 2d 20 72 72 2e | rr.bott|om - rr.|
|00005fa0| 74 6f 70 3b 0d 09 73 68 | 6f 72 74 09 09 77 77 20 |top;..sh|ort..ww |
|00005fb0| 3d 20 72 72 2e 72 69 67 | 68 74 20 2d 20 72 72 2e |= rr.rig|ht - rr.|
|00005fc0| 6c 65 66 74 3b 0d 0d 09 | 69 66 20 28 68 68 20 3e |left;...|if (hh >|
|00005fd0| 20 77 77 29 20 20 68 68 | 20 3d 20 77 77 3b 0d 09 | ww) hh| = ww;..|
|00005fe0| 69 66 20 28 68 68 20 3c | 20 32 30 30 29 20 68 68 |if (hh <| 200) hh|
|00005ff0| 20 3d 20 32 30 30 3b 0d | 0d 09 53 65 74 52 65 63 | = 200;.|..SetRec|
|00006000| 74 28 26 72 72 2c 20 30 | 2c 20 30 2c 20 68 68 2c |t(&rr, 0|, 0, hh,|
|00006010| 20 68 68 29 3b 0d 09 4f | 70 65 6e 52 67 6e 28 29 | hh);..O|penRgn()|
|00006020| 3b 0d 09 46 72 61 6d 65 | 52 6f 75 6e 64 52 65 63 |;..Frame|RoundRec|
|00006030| 74 28 26 72 72 2c 20 34 | 30 2c 20 34 30 29 3b 0d |t(&rr, 4|0, 40);.|
|00006040| 09 43 6c 6f 73 65 52 67 | 6e 28 73 68 61 70 65 52 |.CloseRg|n(shapeR|
|00006050| 67 6e 20 3d 20 4e 65 77 | 52 67 6e 28 29 29 3b 0d |gn = New|Rgn());.|
|00006060| 0d 09 58 4d 50 53 68 61 | 70 65 2a 20 6e 65 77 46 |..XMPSha|pe* newF|
|00006070| 72 61 6d 65 53 68 61 70 | 65 20 3d 20 6e 65 77 20 |rameShap|e = new |
|00006080| 58 4d 50 53 68 61 70 65 | 3b 0d 09 6e 65 77 46 72 |XMPShape|;..newFr|
|00006090| 61 6d 65 53 68 61 70 65 | 2d 3e 53 65 74 51 44 52 |ameShape|->SetQDR|
|000060a0| 65 67 69 6f 6e 28 73 68 | 61 70 65 52 67 6e 29 3b |egion(sh|apeRgn);|
|000060b0| 0d 0d 09 72 65 74 75 72 | 6e 20 6e 65 77 46 72 61 |...retur|n newFra|
|000060c0| 6d 65 53 68 61 70 65 3b | 0d 7d 0d 0d 0d 76 6f 69 |meShape;|.}...voi|
|000060d0| 64 20 48 65 6c 6c 6f 50 | 61 72 74 3a 3a 4d 79 41 |d HelloP|art::MyA|
|000060e0| 64 6a 75 73 74 46 61 63 | 65 74 73 28 58 4d 50 46 |djustFac|ets(XMPF|
|000060f0| 72 61 6d 65 2a 20 66 72 | 61 6d 65 29 0d 0d 2f 2f |rame* fr|ame)..//|
|00006100| 20 47 69 76 65 6e 20 61 | 20 66 72 61 6d 65 2c 20 | Given a| frame, |
|00006110| 69 74 65 72 61 74 65 20 | 74 68 72 6f 75 67 68 20 |iterate |through |
|00006120| 61 6c 6c 20 6f 66 20 74 | 68 65 20 66 61 63 65 74 |all of t|he facet|
|00006130| 73 20 61 6e 64 20 61 64 | 6a 75 73 74 20 74 68 65 |s and ad|just the|
|00006140| 6d 0d 2f 2f 20 61 63 63 | 6f 72 64 69 6e 67 20 74 |m.// acc|ording t|
|00006150| 6f 20 74 68 65 20 6e 65 | 77 20 66 72 61 6d 65 2e |o the ne|w frame.|
|00006160| 0d 0d 7b 0d 09 58 4d 50 | 53 68 61 70 65 2a 20 66 |..{..XMP|Shape* f|
|00006170| 72 61 6d 65 53 68 61 70 | 65 20 3d 20 66 72 61 6d |rameShap|e = fram|
|00006180| 65 2d 3e 47 65 74 46 72 | 61 6d 65 53 68 61 70 65 |e->GetFr|ameShape|
|00006190| 28 29 3b 0d 09 58 4d 50 | 53 68 61 70 65 2a 20 75 |();..XMP|Shape* u|
|000061a0| 73 65 64 53 68 61 70 65 | 20 20 3d 20 6e 65 77 20 |sedShape| = new |
|000061b0| 58 4d 50 53 68 61 70 65 | 3b 0d 09 0d 09 75 73 65 |XMPShape|;....use|
|000061c0| 64 53 68 61 70 65 2d 3e | 43 6f 70 79 46 72 6f 6d |dShape->|CopyFrom|
|000061d0| 28 66 72 61 6d 65 53 68 | 61 70 65 29 3b 0d 09 66 |(frameSh|ape);..f|
|000061e0| 72 61 6d 65 2d 3e 43 68 | 61 6e 67 65 55 73 65 64 |rame->Ch|angeUsed|
|000061f0| 53 68 61 70 65 28 75 73 | 65 64 53 68 61 70 65 29 |Shape(us|edShape)|
|00006200| 3b 0d 0d 09 58 4d 50 46 | 72 61 6d 65 46 61 63 65 |;...XMPF|rameFace|
|00006210| 74 49 74 65 72 61 74 6f | 72 2a 20 66 61 63 65 74 |tIterato|r* facet|
|00006220| 73 20 3d 20 66 72 61 6d | 65 2d 3e 43 72 65 61 74 |s = fram|e->Creat|
|00006230| 65 46 61 63 65 74 49 74 | 65 72 61 74 6f 72 28 29 |eFacetIt|erator()|
|00006240| 3b 0d 09 66 6f 72 20 28 | 58 4d 50 46 61 63 65 74 |;..for (|XMPFacet|
|00006250| 2a 20 66 61 63 65 74 20 | 3d 20 66 61 63 65 74 73 |* facet |= facets|
|00006260| 2d 3e 46 69 72 73 74 28 | 29 3b 0d 09 09 09 66 61 |->First(|);....fa|
|00006270| 63 65 74 73 2d 3e 49 73 | 4e 6f 74 43 6f 6d 70 6c |cets->Is|NotCompl|
|00006280| 65 74 65 28 29 3b 0d 09 | 09 09 66 61 63 65 74 20 |ete();..|..facet |
|00006290| 3d 20 66 61 63 65 74 73 | 2d 3e 4e 65 78 74 28 29 |= facets|->Next()|
|000062a0| 20 29 0d 09 7b 0d 09 09 | 58 4d 50 53 68 61 70 65 | )..{...|XMPShape|
|000062b0| 2a 20 6e 65 77 46 72 61 | 6d 65 53 68 61 70 65 20 |* newFra|meShape |
|000062c0| 3d 20 6e 65 77 20 58 4d | 50 53 68 61 70 65 3b 0d |= new XM|PShape;.|
|000062d0| 09 09 6e 65 77 46 72 61 | 6d 65 53 68 61 70 65 2d |..newFra|meShape-|
|000062e0| 3e 43 6f 70 79 46 72 6f | 6d 28 66 72 61 6d 65 53 |>CopyFro|m(frameS|
|000062f0| 68 61 70 65 29 3b 0d 09 | 09 66 61 63 65 74 2d 3e |hape);..|.facet->|
|00006300| 43 68 61 6e 67 65 41 63 | 74 69 76 65 53 68 61 70 |ChangeAc|tiveShap|
|00006310| 65 28 6e 65 77 46 72 61 | 6d 65 53 68 61 70 65 29 |e(newFra|meShape)|
|00006320| 3b 0d 09 7d 0d 7d 0d 0d | 0d 00 16 00 01 00 00 00 |;..}.}..|........|
|00006330| 00 00 0b 00 09 00 04 00 | 00 00 09 00 00 00 00 00 |........|........|
|00006340| 00 00 06 00 00 00 00 45 | 3a 00 00 00 17 00 00 45 |.......E|:......E|
|00006350| 3a 00 00 00 00 ff ff 01 | a6 01 2b 01 00 00 00 00 |:.......|..+.....|
|00006360| 00 7f ff 0f a0 00 00 00 | 00 03 e9 00 00 00 0c 00 |........|........|
|00006370| 00 00 04 00 04 ff fc 07 | d0 00 04 00 04 ff fc ff |........|........|
|00006380| fc 00 00 00 00 00 00 00 | 00 83 00 0b 6a 08 54 65 |........|....j.Te|
|00006390| 78 74 45 64 69 74 00 00 | 00 44 d8 2f 2a 0d 09 46 |xtEdit..|.D./*..F|
|000063a0| 69 6c 65 3a 09 09 48 65 | 6c 6c 6f 50 61 72 74 2e |ile:..He|lloPart.|
|000063b0| 63 70 70 0d 0d 09 43 6f | 6e 74 61 69 6e 73 3a 09 |cpp...Co|ntains:.|
|000063c0| 48 65 6c 6c 6f 50 61 72 | 74 20 4f 70 65 6e 44 6f |HelloPar|t OpenDo|
|000063d0| 63 20 70 61 72 74 20 65 | 64 69 74 6f 72 20 63 6c |c part e|ditor cl|
|000063e0| 61 73 73 20 69 6d 70 6c | 65 6d 65 6e 74 61 74 69 |ass impl|ementati|
|000063f0| 6f 6e 0d 09 09 09 09 42 | 75 69 6c 74 20 75 73 69 |on.....B|uilt usi|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.